- HTTP API를 제공하는 경우 HTML이 아니라 데이터를 전달해야 하므로, HTTP 메시지 바디에 JSON같은 형식으로 데이터를 실어 보냄
@GetMapping("/response-body-string-v1")
public void responseBodyV1(HttpServletResponse response) throws IOException
{
response.getWriter().write("ok");
}
- HttpServletResponse 객체를 통해서 HTTP 메시지 바디에 직접 OK 응답 메시지를 전달한다
@GetMapping("/response-body-string-v2")
public ResponseEntity<String> responseBodyV2() {
return new ResponseEntity<>("ok", HttpStatus.OK);
}
- ResponseEntity를 활용해서 HTTP 응답 코드를 설정해서 전달한다
@ResponseBody
@GetMapping("/response-body-string-v3")
public String responseBodyV3() {
return "ok";
}
- HTTP 메시지 컨버터를 통해서 HTTP 메시지를 직접 입력할 수 있다
@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);
}
- ResponseEntity를 반환 후
- HTTP 메시지 컨버터를 통해서 JSON 형식으로 변환되어 반환된다
@ResponseStatus(HttpStatus.OK)
@ResponseBody
@GetMapping("/response-body-json-v2")
public HelloData responseBodyJsonV2() {
HelloData helloData = new HelloData();
helloData.setUsername("userA");
helloData.setAge(20);
return helloData;
}
- ResponseEntity를 사용하면 HTTP 응답 코드를 설정할 수 있는데, @ResponseBody를 사용하면 어노테이션으로 설정 가능
다음 포스팅에서 지금까지 사용하였던 ResponseBody의 상위에있는 HTTP 메시지 컨버터를 알아보겠다
'개발 개념' 카테고리의 다른 글
[개발 개념] SQLD Oracle 정리 (0) | 2022.03.04 |
---|---|
[개발 개념] PRG Post/Redirect/Get (0) | 2022.02.07 |
[Java] Http 헤더 정보 (0) | 2022.01.30 |
[개발개념] 스프링 MVC VIEW RESOLVER (0) | 2022.01.28 |
[개발 개념] HTTP 요청 방식 (0) | 2022.01.24 |
댓글