POSTMAN 사용해서 Http 테스트 해보기

myeonji·2022년 2월 14일
0

1. GetMapping

    @GetMapping("/http/get")
    public String getTest(Member m) {
        return "get 요청 : " + m.getId() + ", " + m.getUsername() + ", " + m.getPassword() + ", " + m.getEmail();
    }
  • 인터넷 브라우저 요청은 무조건 get 요청 밖에 할 수 없다.
  • http://localhost:8080/http/get (select)
  • http://localhost:8080/http/get?id=1&username=yeongon 처럼 [물음표+쿼리스트링]을 통해 데이터 보낼 수 있음 -> 매개변수는 (@RequestParam int id, @RequestParam String username) 로 받아야 함
  • 하지만 매개변수에 @RequestParam 을 일일이 적는 것이 아니라 Member 객체를 적어주면 알아서 매핑됨 (스프링이 해줌)

2. PostMapping

    @PostMapping("/http/post")
    public String postTest(@RequestBody String text) {
        return "post 요청 : " + text;
    }
  • http://localhost:8080/http/post (insert)
  • 데이터를 주소에 담아 보내는 쿼리스트링이 아니라, Body 에 담아 보냄
  • Body 데이터는 @RequestBody 를 사용 (💥 Get 에서는 @RequestParam 을 사용하였음, 차이 명심!)
  • raw 데이터 - text/plain, application/json

POSTMAN 에서 POST 테스트 할 때, Body에 form-data, x-www-form-urlencoded, raw, binary 등등 있음

📍 raw 로 보내는 방법 - MIME 타입

1. Text(text/plain)

2. JSON(application/json)


1. < text/plain 데이터 타입 >
그냥 작성하면 됨, 매개변수는 (String text)

2. < application/json 데이터 타입 >

{
	"id" : 1,
	"username" : "yeongon",
	"password" : 1234,
	"email" : "kyj@gmail.com"
}

키는 항상 String 값이여서 쌍따옴표가 필요하다.

위처럼 text/plain, application/json 등등 선택 가능하다.

하지만, application/json으로 할 때는

    @PostMapping("/http/post")
    public String postTest(@RequestBody Member m) {
        return "post 요청 : " + m.getId() + ", " + m.getUsername() + ", " + m.getPassword() + ", " + m.getEmail();
    }

text/plain은 매개변수를 String 문자열로 받아야 하지만,

json은 객체로 받는다.
MessageConverter (스프링부트) 가 Member 객체에 알아서 매핑해준다.

0개의 댓글