개발놀이터
스프링 HTTP응답 - HTTP API, 메시지 바디에 직접 입력 본문
*HTTP 응답 - HTTP API, 메시지 바디에 직접 입력
-response.getWriter를 이용한 출력
@GetMapping("/response-body-string-v1")
public void responseBodyV1(HttpServletResponse response) throws IOException {
response.getWriter().write("ok");
}
-ResponseEntity를 이용한 출력 (상태코드 같이 출력 가능)
@GetMapping("/response-body-string-v2")
public ResponseEntity<String> responseBodyV2(HttpServletResponse response) {
return new ResponseEntity<>("ok", HttpStatus.OK);
}
-@ResponseBody를 붙여서 그냥 메시지 바디에 메시지를 콱 박아서 전송하는 방식
@ResponseBody
@GetMapping("/response-body-string-v3")
public String responseBodyV3(HttpServletResponse response) {
return "ok";
}
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ일반 텍스트ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
-ResponseEntity를 이용한 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);
}
-반환타입을 HelloData로 전송하는 방식
@ResponseStatus(HttpStatus.OK)
@ResponseBody
@GetMapping("/response-body-json-v2")
public HelloData responseBodyJsonV2() {
HelloData helloData = new HelloData();
helloData.setUsername("userA");
helloData.setAge(20);
return helloData;
}
@ResponseBody를 계속 쓰기 귀찮으면 클래스레벨로 올려서 적으면 된다. 클래스 레벨로 올려 적으면 @Controller와 만나게 되는데 이 둘을 합친 것이 바로 @RestController이다. API를 만들 때는 @RestController를 붙이자
'Spring > Spring' 카테고리의 다른 글
타임리프 (0) | 2021.08.19 |
---|---|
스프링 MVC 기본기능 핵심정리 (0) | 2021.08.19 |
스프링 HTTP응답 - 정적 리소스, 뷰 템플릿 (0) | 2021.08.19 |
스프링 HTTP요청 메시지 - JSON (0) | 2021.08.19 |
스프링 HTTP 요청 메시지 - 단순 텍스트 (0) | 2021.08.19 |