GET 쿼리 파라미터
다음 데이터를 클라이언트에서 서버로 전송해보자.
전달 데이터
- username = hello
- age = 20
메시지 바디 없이, URL의 쿼리 파라미터를 사용해서 데이터를 전달하자
예) 검색, 필터, 페이징 등에서 많이 사용하는 방식
쿼리 파라미터는 URL에 다음과 같이 '?'를 시작으로 보낼 수 있다. 추가 파라미터는 '&'로 구분하면 된다.
POST HTML Form
이번에는 HTML의 Form을 사용해서 클라이언트에서 서버로 데이터를 전송해보자.
주로 회원 가입, 상품 주문 등에서 사용하는 방식이다
특징
- content-type: 'application/x-www-form-urlencoded'
- 메시지 바디에 쿼릭 파라미터 형식으로 데이터를 전달한다 'username=hello&age20'
'application/x-www-form-urlencoded'형식은 앞서 GET에서 살펴본 쿼리 파라미터 형식과 같다. 따라서 쿼리 파라미터 조회 메서드를 그대로 사용 하면 된다.
서버 입장에서는 둘의 형식이 동일하므로, 'request.getParameter()'로 편리하게 구분없이 조회할 수 있다.
API 메시지 바디 - 단순텍스트
HTTP message body에 직접 담아서 요청
- HTTP API 에서 주로 사용, JSON, XML, TEXT
- 데이터 형식은 주로 JSON 사용
- POST, PUT, PATCH
- 먼저 가장 단순한 텍스트 메시지를 HTTP 메시지 바디에 담아서 전송하고, 읽어보자
- HTTP 메시지 바디의 데이터를 InputStream을 사용해서 직접 읽을 수 있다
API 메시지 바디 - JSON
JSON 형식 전송
- POST
- content-type: application/json
- message body : {"username": "hello", "age": 20}
- 결과 : 'messageBody = {"username": "hello", "age":20}'