본문 바로가기
웹개발/Springboot

HTTP 메서드 - POST

by HoPpangg 2021. 6. 24.
SMALL

아래 게시글과 이어집니다. 

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은 데이터들을 매개변수의 타입에 맞게 알아서 변환시켜 받아줍니다.

728x90
LIST

'웹개발 > Springboot' 카테고리의 다른 글

HTTP 메서드 - PUT  (0) 2021.06.24
HTTP 메서드 - 기초  (0) 2021.06.24
꼭 알아야하는 HTTP method  (0) 2021.06.23

댓글