hello4 메서드:   post + Query Parameter

이 부분이 아마 웹개발하면서 많이 개발자들이 오해하는 부분이다. Get은 Query Parameter를 사용하고 Post는 body에 데이터를 보내야 한다는 것은 잘못된 생각이다. Get은 Request시에 body가 없고 Post는 Request시에 body에 보낼수 있다는것이 Get과 Post의 차이점이다. 그래서 Get은 Query Parameter 밖에 사용할 수가 없고 Post는 body로 더 많은 데이터를 보낼수 있기 때문에 주로 body로 데이터를 보내지만 그렇다고 Query Parameter로 데이터를 보낼수 없는것이 아니다. 위 예제가 Post 메서드로 보내면서 Query Parameter로 데이터를 보내는 예제이다.  Query Parameter 는 Url을 정의하는 규격일 뿐이다.

 

이번에는 body에 데이터를 넣어서 테스트해보자.

URL뒤에 파라메터를 붙이는게 아니라 body에 name=gildong을 postman에서 넣는 방법은 아래와 같다. Body를 선택하고 x-www-form-urlencoded를 선택하고 key와 value에 각각 name, gildong을 넣는다. x-www-form-urlencoded라는 것은 내가 body에 보내는 데이터 타입이 form 방식이라는것을 명시하는것이다. 그래야 스프링에서 RequestParam으로 데이터를 수신할수 있다.

SEND 버튼을 누르기 전에 fiddler를 켜두고 패킷을 캡쳐해서 확인해보면 다음과 같다