응답할 때 어떻게 클라이언트에게 정보를 전달 할 수 있는가!!
1.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);
} //json으로 채우고 싶을 때 dto를 사용해서
@ResponseStatus(HttpStatus.OK) //동적인것은 아님 동적으로하고 싶음 위에거 쓰라.
@ResponseBody //바디에 직접 적용. 이거 없음 뷰로 간다켔음
@GetMapping("/response-body-json-v2")
public HelloData responseBodyJsonV2() {
HelloData helloData = new HelloData();
helloData.setUsername("userA");
helloData.setAge(20);
return helloData;
}
2. 뷰를 반환하기
@Controller
public class ResponseViewController {
@RequestMapping("/response-view-v1")
public ModelAndView responseViewV1() {
ModelAndView mav = new ModelAndView("response/hello")
.addObject("data", "hello!");
return mav;
}
@RequestMapping("/response-view-v2")
public String responseViewV2(Model model) {
model.addAttribute("data", "hello!");
return "response/hello";
}
//스태틱으로 가져오는 경우.
@RequestMapping("/response/hello") //경로로 지정하면 없어도됨
public void responseViewV3(Model model) {
model.addAttribute("data", "hello!");
}
}
'스프링 MVC' 카테고리의 다른 글
HTTP 요청 처리 REQUEST (0) | 2021.10.28 |
---|