HTTP API를 제공하는 경우에는 HTML이 아니라 데이터를 전달해야 하므로, HTTP 메시지 바디에 JSON 같은 형식으로 데이터를 실어 보낸다.

ResponseBodyController

@Slf4j
@Controller
//@RestController
public class ResponseBodyController {

		@GetMapping("/response-body-string-v1")
		public void responseBodyV1(HttpServletResponse response) throws IOException {
				response.getWriter().write("ok");
		}

		/**
		* HttpEntity, ResponseEntity(Http Status 추가)
		* @return
		*/
		@GetMapping("/response-body-string-v2")
		public ResponseEntity<String> responseBodyV2() {
				return new ResponseEntity<>("ok", HttpStatus.OK);
		}

		@ResponseBody
		@GetMapping("/response-body-string-v3")
		public String responseBodyV3() {
				return "ok";
		}
		
		@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;
		}

}

responseBodyV1

responseBodyV2

responseBodyV3

responseBodyJsonV1

responseBodyJsonV2