해결된 질문
작성
·
251
0
답정너같은 질문이지 않을까 싶긴한데 혹시몰라서요!
이번 강의에서 ResponseView와 ResponseBody 이 두가지의 컨트롤러를 학습하고, 마지막에 @RestController 애너테이션을 클래스에 작성함으로써, @ResponseBody를 생략할 수 있었잖아요.
그러면 만약 Controller Class가 @RestController 애너테이션이 작성이 되어있는 상태에서, View와 ResponseBody를 반환하는 메서드를 함께 갖어야하는 경우에는 View를 무조건적으로 ModelAndView로 처리해야하는걸까요?
아니면, 대중적인 Controller 의 설계는 이 View와 ResponseBody를 반환하는 형태를 서로다른 클래스로 분리해서 설계하나요?
@RestController
public class AClass{
// response/hello 뷰를 렌더링
@RequestMapping("/response-view-v1")
public ModelAndView responseViewV1() {
return new ModelAndView("response/hello")
.addObject("data", "hello!");
}
// helloData객체가 json 타입으로 반환
@ResponseStatus(HttpStatus.OK)
@GetMapping("/response-body-json-v2")
public HelloData responseBodyJsonV2(){
HelloData helloData = new HelloData();
helloData.setUsername("userA");
helloData.setAge(20);
return helloData;
}
}
감사합니다 :)