본문 바로가기

카테고리 없음

Spring Boot 컨트롤러 요청방식 4가지, QueryString

요청방식 4가지

  • Get (@GetMapping)
  • Post (@PostMapping)
  • Put (@PutMapping)
  • Delete (@DeleteMapping)

 

@RestController

  • Data를 응답하는 컨트롤러
  • 각 메서드가 @ResponseBody 어노테이션과 함께 작동
  • HTTP응답의 본문에 직접 데이터를 쓴다

@Controller

  • 뷰를 반환하거나, 다른 메서드로 리다이렉션을 수행
  • 리턴시에 ViewResolver 발동

 

* WebApplicationContext가 재 생성될 때 Dispacher Sevlet이 생성되고 class가 new 된다.
* Component Scan - 스프링이 지정해둔 어노테이션이 있는데 8가지 정도 (그 친구들만 new됨)

 

@RestController
public class HttpBodyController {

    /**
     *    host = localhost:8080
     *    endpoint = /data/body/v1
     *    method = post
     *    QueryString = title (String)
     *    Body - x-www-form-urlencoded = title (String)
     */
    @PostMapping("/data/body/v1")
    public String bodyV1(@RequestParam("title") String title){
        return "받은값 : "+ title;
    }

 

body의 기본 설정은 x-www-gorm-urlencoded 다.

 

  • QueryString과 PathVariable
  • QueryString은 예를들어  ?name = ssar, password = 1234 형태
 * QueryString, PathVariable (where절에 줄 데이터 = 구체적인 요청을 하는 데이터)
 * SELECT * FROM user WHERE email = 'ssar@nate.com';
 *
 * 줄 데이터가 primaryKey(기본키) 면 PathVariable로
 * 아니면 QueryString으로
 
  @GetMapping("/data/path/v1/{id}")
    public String pathV1(@PathVariable int id){
        return "받은 값 : "+id;
    }
  • PathVariable은 위처럼 primaryKey 같이 구분할 수 있는 값들을 이용해 필요한 것을 가져온다.
  • RequestBody
  • 뒤의 변수가 객체일시 버퍼가 발동하고 Gson(Jackson)이 발동
  • Json으로 값을 받는다.