요청 매개변수 및 해당 유형 정보

최근 API 개발에 착수하기 시작하여 클라이언트로부터 보내지는 요청 파라미터의 형태에 대해 의식하기 시작했다. 쿼리 스트링이나 바디의 포맷에 따라 어떠한 형태가 오는지 정리하고 싶은 기록에 남긴다.

쿼리 문자열로 전송되는 경우


localhost:3000/shops?pageno=1&pagesize=60

키에 값이 지정되어 있으면 그 값의 형태는 文字列 가 된다.

*덧붙여서 key=value 의 기술이 없는 경우는 null 가 되고, key= 만 기술했을 경우는 그 값은 空文字列 가 된다.
*(Rails의 경우) params에서 문자열로서 값이 세트되므로, API측에서 문자열 이외의 값을 사용하고 싶을 때는 그 형태에 캐스트할 필요가 있다.

바디로 보내지는 경우



본문 형식이 Content-Type: application/x-www-form-urlencoded인 경우



웹 브라우저의 양식 요청에 자주 사용됩니다.
키에 지정된 값은 RFC1866이 정의한 변환 형식에 따라 文字列로 변환됩니다.

*(Rails의 경우) params에서 문자열로서 값이 세트되므로, API측에서 문자열 이외의 값을 사용하고 싶을 때는 그 형태에 캐스트할 필요가 있다.

본문 형식이 Content-Type: application/json인 경우



앱 요청과 Ajax 요청에서 자주 사용됩니다.
json은 타입을 가질 수 있기 때문에 クライアント指定した型 를 가진 상태에서 요청을 던질 수 있다.

Chrome을 사용한 확인 방법



"오른쪽 클릭> 검증> Network 탭"에서 요청과 응답 정보를 확인할 수 있습니다.

다음은 Content-Type: application/x-www-form-urlencoded에서 요청을 던졌을 때의 예입니다.



좋은 웹페이지 즐겨찾기