반응형
View Resolver란?
사용자가 요청에 대한 view를 랜더링 하는 역할을 말한다. 즉 URL로 부터 사용될 VIEW 객체를 맵핑하는 역할
@RequestMapping(value={"/", ""}, method={RequestMethod.POST, RequestMethod.GET})
public String list(HttpServletRequest request){
return "board/list"
}
ModelAndView
랜더링 할 VIEW의 이름과 VIEW에서 사용할 model을 설정한다.
- setViewName(name); 랜더링 할 VIEW 이름
- addObject(key, value); VIEW에 전달 할 KEY, VALUE
- addAllObject(Map)' VIEW에 전달 할 MAP(KEY, VALUE 한번에 전달)
@RequestMapping(value={"", "/"}, method={RequestMethod.POST, RequestMethod.GET})
public ModelAndView list(HttpServletRequest request){
ModelAndView mav = new ModelAndView();
TestVO testVO = new TestVO();
mav.addObject("result", testVO);
mav.setViewName("baord/list");
return mav;
}
@ResponseBody
return값이 String 이더라도 View Resolver가 작동하기 않는다. 따라서 페이지 이동이 아닌 값을 가지고 오거나 수정, 삭제하는 API일 경우 @ResponseBody 어노테이션을 꼭 넣어야 한다.
ResponseEntity
클라이언트요청에 대한 응답을 할때에 사용한다. 페이지 이동이 아니기 때문에 @ResponseBody 어노테이션과 함깨 사용한다. 요청에대한 값, 요청 실패에 따른 에러메세지를 클라이언트에 전달 할 수 있다.
@RequestMapping
@ResponseBody
public ResponseEntity<JsonResponse<Object>> apiTest(HttpServletRequest request){
return new JsonResponse<Object>().setBody("apiTest 완료").setStatusCode("S0000").buildResponse(HttpStatus.OK);
}
반응형
'WEB' 카테고리의 다른 글
[javaScript] textarea 입력 줄 바꿈 제한 두기 (0) | 2021.12.23 |
---|---|
CSS 전체 선택자 예외처리 하기 (0) | 2021.12.22 |
[Javascript] 동일한 이름은 가진 클래스에 동작부여하기 (0) | 2021.12.09 |
HTML 입력받은 글 공백과 줄바꿈, 가로길이(textarea, pre, pre-wrap) (0) | 2021.12.02 |
[HTML] 코딩 없이 SNS 공유하기 만들기 AddThis이용 (0) | 2021.11.30 |