[Spring] HTTP 요청 처리

Updated:

스프링 환경에서 HTTP 요청을 처리하는 방법

- Get, Post 등의 HTTP 요청에 대한 응답으로서 객체(클래스)를 반환하면 객체가 JSON으로 변환되어 반환된다.

@ResponseBody        
@GetMapping("/api")
public User getUser(){
  return User("name", "password"); // {"name": "name", "password": "password"} 
}

* 해당 매핑 메서드의 컨트롤러 클래스위에 @Controller 가 아닌 @RestController 를 사용하면 매핑 메서드 위에 @ResponseBody를 써줄 필요가 없다.

- Path 경로에 동적인 id에 따른 처리를 할 수 있다.

@GetMapping("/api/{id}")
public void example(@PathVariable("id") long id){
  ....
  ....
}

* GetMapping의 {id} 와 @PathVariable(“id”) 의 id 는 서로 일치해야 한다.

- Request로 들어오는 JSON 데이터를 HashMap 으로 받을 수 있다.

public void example(@RequestBody HashMap<String, Object> h){
  String value = h.get("key").toString();
}

* 그러나 HashMap 보다는 객체인 DTO 로 받는게 더 선호된다. DTO는 클래스를 새로 만들어야 하지만 데이터를 더욱 명시적으로 받을 수 있다.

Categories:

Updated:

Leave a comment