/url?username=hello&age=20
검색, 필터, 페이징 등에서 많이 사용쿼리 파라미터는 URL에 다음과 같이 ? 를 시작으로 보낼 수 있다. 추가 파라미터는 & 로 구분
request.getParameterNames().asIterator()
.forEachRemaining(paramName -> System.out.println(paramName + "=" + request.getParameter(paramName)));
request.getParameter("username");
String[] usernames = request.getParameterValues("username");
for (String name : usernames) {
System.out.println(name + "=" + request.getParameter(name));
}
username=hello&age=20
회원가입, 상품 주문, HTML Form 사용content-type: application/x-www-form-urlencoded
post로 보내면 body부분에, get으로 보내면 head부분에 포함되어짐 -> HTTP METHOD의 GET과 POST 차이
쿼리 파라미터와 똑같이 쿼리스트링으로 들어오기 때문에 꺼내서 사용하는 방법도 똑같음
POST로 보낸다면 content-type을application/x-www-form-urlencoded
으로 해주어야함
content-type:text/plain
ServletInputStream inputStream = request.getInputStream();
String messageBody = StreamUtils.copyToString(inputStream, StandardCharsets.UTF_8);//charset지정
inputStream은 byte 코드를 반환하기에 문자를 보려면 charset을 지정해줘야한다.
2.JSON : content-type:application/json
ServletInputStream inputStream = request.getInputStream();
String messageBody = StreamUtils.copyToString(inputStream, StandardCharsets.UTF_8);//charset지정
//json 데이터로 파싱하기 위해 사전에 helloData를 만들어야한다.
HelloData helloData = objectMapper.readValue(messageBody,HelloData.class);
처리하는 방법은 단순 텍스트와 같고, 단순 텍스트 이후에 json 데이터로 파싱하는 작업을 해야한다