-
Spring Boot: Response 응답에 대해 알아두면 좋을 2가지Spring Boot 🍃 2023. 11. 29. 06:21
1. JSON과 HTTP 응답코드 함께 내려주는 방법
import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/api/res") public class ResponseController { @PutMapping("/put") public ResponseEntity<User> put(@RequestBody User user) { return ResponseEntity.status(HttpStatus.CREATED).body(user); } }
ResponseEntity<T>
클래스를 이용해서 HTTP 응답에 대해 다양한 변형을 적용할 수 있다.ReponseEntity 클래스에서 제공하는 메서드 들 🔻
응답코드는 HttpStatus 라는 ENUM 클래스로 정의되어있다.
2. 컨트롤러 하나에서 HTML 페이지 , json 객체 내려주는 방법
원래는
@Controller
어노테이션이 붙은 컨트롤러 페이지에서는 html 뷰페이지만 내려보내고, json 응답은@RestController
에서만 내리는게 맞지만, html과 json을 요구하는 특수한 상황(?)이 오게 된다면 사용할 수 있는 방법이다.@Controller public class PageController { // main.html 반환 @RequestMapping("/main") public String main() { return "main.html"; } // json 객체 반환 @ResponseBody @GetMapping("/user") public User user() { var user = new User(); // 타입 추론! 클래스 이름이 아주 긴 경우 유용하게 쓰인다. user.setName("zh"); user.setAge(130); return user; } }
'Spring Boot 🍃' 카테고리의 다른 글
Spring Boot: Object Mapper (0) 2023.11.29 Spring Boot: JSON 클래스 만들때 알아두면 좋을 설정 (0) 2023.11.29 Spring Boot: POST , PUT, PATCH Method 요청 받기 (0) 2023.11.29 Spring Boot: GET , DELETE Method 요청 받기 (0) 2023.11.29 Spring Boot: @Controller , @RestController (0) 2023.11.29