참새의 이야기
[MVC1] 스프링 MVC Response 본문
스프링 MVC Response
HTTP 응답 - ResponseEntity
강의를 들으면서 가장 생소했던 부분이었다.
응답할 내용을 ResponseEntity에 담아서 반환한다.
이는 HTTP 메시지 컨버터를 통해서 JSON 형식으로 변환되어 반환된다.
@GetMapping("/response-body-json-v1")
public ResponseEntity<HelloData> responseBodyJsonV1() {
HelloData helloData = new HelloData();
helloData.setUsername("userA");
helloData.setAge(20);
return new ResponseEntity<>(helloData, HttpStatus.OK);
}
@ResponseStatus(HttpStatus.OK)
@ResponseBody
@GetMapping("/response-body-json-v2")
public HelloData responseBodyJsonV2() {
HelloData helloData = new HelloData();
helloData.setUsername("userA");
helloData.setAge(20);
return helloData;
}
위의 V1처럼 ResponseEntity를 직접 사용할 수도 있고, 아래와 같이 @ResponseBody 어노테이션을 사용할 수도 있다.
후자의 경우에는 HTTP 상태 코드를 지정할 수 없다는 단점이 있지만, @ResponseStatus 어노테이션을 사용해 상태 코드를 설정할 수 있다.
이 방법은 동적인 상태 변경은 불가능하다는 점에 유의하여 사용해야 한다.
reference
이 글은 김영한님의 '스프링 MVC 1편'을 듣고 작성했습니다.
'Spring' 카테고리의 다른 글
[MVC1] 데이터 담아 Redirect하기 (2) | 2023.08.04 |
---|---|
[MVC1] HTTP 메시지 컨버터 (0) | 2023.08.04 |
[MVC1] 스프링 MVC Request (4) | 2023.08.04 |
[MVC1] Slf4j를 사용한 logging (0) | 2023.08.03 |
[MVC1] 스프링 MVC 활용 (0) | 2023.08.02 |