Controller로 ajax 등의 요청을 했을 때, json형식으로 return 해주는 방식은 크게 두 가지가 있다.
1. Controller return type을 String으로 하고, 별도의 Json API를 사용해 parsing해서 json 형식으로 return 해준다.
2. MappingJackson2JsonView를 사용해서 ModelAndView를 json 형식으로 반환해 준다.
1번의 경우에는 매우 귀찮게 일일이 map object에 담아서 for 돌려서 만들어 주는 방법도 있고
Gson 등 Json API들을 사용해서 만들어 주는 경우도 있다.
나의 경우 spring boot를 주로 사용하므로 jsonview를 bean에 등록하고 ModelAndView에 담아서 사용하는 것으로 사용한다.
@Configuration 을 붙인 WebConfig 파일에서 Bean으로 등록해서 사용한다.
@Bean
MappingJackson2JsonView jsonView(){
return new MappingJackson2JsonView();
}
Controller
ModelAndView mv = new ModelAndView("jsonView");
userVO.setUserId(userId);
List<UserVO> userList = userMgmtSvc.selectUserList(userVO);
int totalCnt = userMgmtSvc.selectUserListCount(userVO);
mv.addObject("dataCnt", totalCnt);
mv.addObject("data", userList);
return mv;
Result
도움이 된 블로그