본문 바로가기
개발 개념

[개발 개념]HTTP API, MessageBody에 직접 입력

by Yikanghee 2022. 2. 2.
  • HTTP API를 제공하는 경우 HTML이 아니라 데이터를 전달해야 하므로, HTTP 메시지 바디에 JSON같은 형식으로 데이터를 실어 보냄
@GetMapping("/response-body-string-v1")
 public void responseBodyV1(HttpServletResponse response) throws IOException 
{
 response.getWriter().write("ok");
 }
  1. HttpServletResponse 객체를 통해서 HTTP 메시지 바디에 직접 OK 응답 메시지를 전달한다
@GetMapping("/response-body-string-v2")
 public ResponseEntity<String> responseBodyV2() {
 return new ResponseEntity<>("ok", HttpStatus.OK);
 }
  1. ResponseEntity를 활용해서 HTTP 응답 코드를 설정해서 전달한다
@ResponseBody
 @GetMapping("/response-body-string-v3")
 public String responseBodyV3() {
 return "ok";
 }
  1. 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);
 }
  1. ResponseEntity를 반환 후
  2. 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;
 }
  1. 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

댓글