인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

SunYong Park님의 프로필 이미지
SunYong Park

작성한 질문수

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

HTTP 응답 - HTTP API, 메시지 바디에 직접 입력

View를 반환할 때

해결된 질문

작성

·

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;
  }
}

답변 1

2

안녕하세요. SunYong Park님, 공식 서포터즈 David입니다.

일반적으로 controller와 rest-controller를 분리하여 사용합니다.

감사합니다.

SunYong Park님의 프로필 이미지
SunYong Park
질문자

감사합니다 :)

SunYong Park님의 프로필 이미지
SunYong Park

작성한 질문수

질문하기