Postman사용 방법

2022. 10. 10. 00:23Spring

728x90

 

GET 메소드

  • GET 요청은 전송할 때 필요한 데이터를 Body에 담지 않고, 쿼리스트링을 통해 전송합니다
  • Query Params를 이용한다.
  • 쿼리스트링 : URL의 끝에 ?와 함께 이름과 값으로 쌍을 이루는 요청 파라미터

 

POST 메소드

  • 요청 헤더의 Content-Type에 요청 데이터의 타입을 표시해야 한다.

Content-type : 요청시 요청하는 자원의 형식을 명시하기 위해 헤더에 실리는 정보

  • None : Body에 보낼 값이 없을 때 사용한다.
  • form-data : Multipart Form을 이야기하는 것으로, ASCII 문자값과 함께 바이너리 데이터(예를 들면, 이미지나 영상 파일)을 전송할 때 사용한다.(텍스트 + 파일)
  • x-www-urlencoded : W3C에서 기본 content type으로 정의한 타입이다. 단순히 ASCII문자값(즉, 텍스트)만 보낼 때 사용한다. 가장 많이 사용하는 타입중 하나이다.
  • raw : 날 것의 텍스트를 보낸다. 개발자가 형식에 맞게 데이터를 작성해줘야한다.(HTML,Javascript,JSON,XML 등)
  • binary : 텍스트 없이 이미지나 영상, 오디오 파일 등을 보낼 때 사용한다.

 

Content -type 종류

  • Application/json : {key : value} 형태
  • Application/x-www-form-urlencode : 폼 형태 , 텍스트 전달시 사용

encoding이 필수이다. 따라서, 이 content-type을 사용할 경우에 해당 프레임워크에서 encoding을 자동으로 해주는 지를 확인하고 만약 해주지 않는다면, 따로 해줘야한다.

  • audio/mpeg  : MP3 or MPEG audio
  • multipart/formed-data : 폼 형태, 대용량 바이너리 데이터를 전송하기에 적함, 파일전송시 사용
  • text/html

 

전달된 값을 파라미터로 받는 방법(어노테이션)

@PathVariable

https://localhost:8080/daesun/pathvariable/1

 

https://localhost:8080/daesun/pathvariable/1/테스트

    @GetMapping("/path/{id}")
    public void pathVariable1(@PathVariable("id") Long id){
        System.out.println("id = " + id);
    }

    @GetMapping("/path/{id}/{name}")
    public void pathVariable2(@PathVariable("id") Long id, @PathVariable String name){
        System.out.println("id = " + id);
        System.out.println("name = " + name);
    }

{ }안에 들어있는 이름과 @PathVariable을 이용한 변수명이 일치해야한다.

여러개를 사용할 경우 파라미터의 순서가 아니라 변수명에 따라서 바인딩된다.

 

@RequestParam

쿼리 스트링에서 값을 가져온다.

https://localhost:8080/daesun/query?id=1&name=테스트

 @GetMapping("/query")
    public void query(@RequestParam Long id,@RequestParam String name){
        System.out.println("id = " + id);
        System.out.println("name = " + name);
    }

postman에서는 Get방식 Params사용

 

@ModelAttribute

https://localhost:8080/daesun/formData

 

@ModelAttribute는 생략 가능하다.

@PostMapping("/formData")
    public void formData(@ModelAttribute Member member){
        System.out.println("Id = " + member.getId());
        System.out.println("Name = " + member.getName());
    }

@ModelAttribute는 Member 객체에 해당하는 데이터 값을 자동으로 넣어줍니다.

 

content-type은 Application/x-www-form-urlencode을 사용한다.

 

(스프링은 String, Integer와 같이 단순 타입은 @RequestParam을, 나머지의 경우는 @ModelAttribute를 자동적으로 적용해준다.)

 

 

 

멘토링 감사합니다!!

728x90