아래 게시글과 이어집니다.
POST 방식으로 요청을 하면 Request Headers와 Response Headers 양쪽에 Content-Type이 있어야하는데 Response Headers에만 있는걸 볼 수 있습니다.
그 이유는 Request할 때 데이터를 보내지 않았기 때문입니다.
Headers 옆에 있는 Body로 가서 데이터 타입을 x-www-form-urlencoded를 선택해주고 아래 KEY값과 VALUE값을 적어줍니다. 그리고 Send를 해주고 다시 Headers에 가보면
Request Headers에도 Content-Type이 생긴 것을 볼 수 있습니다.
Request Content-Type의 Value를 보면 아까 우리가 선택했던 데이터타입이 value값으로 들어있는 것을 볼 수 있습니다.
그럼 Body에 입력한 KEY값과 VALUE값은 어떻게 사용해야 할까요?
위에서 입력한 post 메서드에 매개변수를 생성해줍니다.
매개변수의 이름은 꼭 KEY값과 동일해야합니다!
그럼 다시 postman으로 가서 send를 해주면
콘솔창에 이렇게 입력했던 KEY값의 Value들이 출력되는 것을 볼 수 있습니다.
이유는 파싱된 데이터를 Spring이 알아서 해석하고 응답까지 해주기 때문입니다.
이때 사용되는 공용어가 JSON입니다.
JSON에 대해서는 추후 다시 포스팅하겠습니다.
조금 더 활용해보기 위해 com.cos.example패키지에 User 클래스를 하나 생성합니다.
변수 2개를 만들고 getter/setter도 생성해줍니다.
이때 변수의 이름은 postman에서 보낸 키값과 이름이 동일해야합니다.
TestController의 post매서드 매개변수 타입을 오브젝트로 바꿔줍니다.
다시 postman으로 돌아가 send를 누르면
우리가 입력한 username 과 password의 value값이 콘솔창에 출력되는 것을 볼 수 있습니다.
이는 spring이 파싱된 데이터를 오브젝트화 시켜줬기 때문입니다.
spring이 파싱된 데이터를 오브젝트화 시켜서 받아준다면 굳이 매개변수가 2개는 필요가 없을 것 같습니다.
매개변수를 하나만 두고 다시 postman으로 가서 send 해줍니다.
같은 결과가 콘솔창에 뜨네요.
spring은 데이터들을 매개변수의 타입에 맞게 알아서 변환시켜 받아줍니다.
'웹개발 > Springboot' 카테고리의 다른 글
HTTP 메서드 - PUT (0) | 2021.06.24 |
---|---|
HTTP 메서드 - 기초 (0) | 2021.06.24 |
꼭 알아야하는 HTTP method (0) | 2021.06.23 |
댓글