-
서버에서 json형태로 return하는 방법.프로그래밍 언어/자바 & 코틀린 2018. 1. 21. 18:23
json형태로 데이터를 return하는 방법은 내가 아는 범위내에서 2가지다.
(더 있을 수도 있는데... 일단 내가 아는 방법은 2가지.)
첫째, jsonView
둘째, @ResponsBody
이 2가지이다. 예전에 상세히 들어간 건 아니고 대충 검색해보면서
@ResponseBody보다 jsonView를 이용하는게 더 많은 데이터를 처리하는데 좋다고 하는데,
아직까지 차이가 날 정도로 큰 데이터를 다뤄보지 못해서 차이를 잘 모르겠다.
1. jsonView
사실 회사에 오고나서 이미 이렇게 짜여진 코드를 봐와서 난 이게 따로 설정해야하는 줄 몰랐다.
jsonView를 사용하기 위해서는 설정이 필요하다. 몇가지 jar파일을 pom.xml에 선언해주고 설정해주면 된다.
(*설정방법은 조금만 찾아보면 바로 찾을 수 있다.)
보통 난 jsonView를 이렇게 사용한다.
12345678910@RequestMapping(value="/practice/jsonViewTest")public ModelAndView jsonViewTest(@RequestParam Map<String, Object> params, HttpServletRequest request){ModelAndView mv = new ModelAndView();List<Map<String, Object>> result = new ArrayList<HashMap<String, Object>>();result = testService.selectData(params);mv.addObject("result", result);mv.setViewName("jsonView");return mv;}cs json으로 보내고 싶은 데이터를 조회해오고, ModelAndView.addObject를 이용해 객체를 추가해주고,
ModelAndView.setViewName("jsonView")를 통해 json형태로 return한다.
2. @ResponseBody
어노테이션을 이용하는 방법이다. 스프링이니까 어노테이션을 적절히 사용해주는게 좋으려나?
사용방법은 간단하다. 메서드 위에 @ResponseBody만 선언해주면 되니까.
12345678@RequestMapping(value="/practice/responseBodyTest")@ResponseBodypublic List<Map<String, Object>> responseBodyTest(@RequestParam Map<String, Object> params, HttpServletRequest request){List<Map<String, Object>> result = new ArrayList<HashMap<String, Object>>();result = testService.selectData(params);return result;}cs 그때그때 편한 방법을 사용하면 좋을 것 같다.
'프로그래밍 언어 > 자바 & 코틀린' 카테고리의 다른 글
[JSP] form태그 이용해서 데이터 주고 받기 (0) 2018.03.03 Exception 발생해도 원하는 파라미터 return하는 방법 (0) 2018.02.25 ajax에서 JSON.stringify로 넘긴 파라미터를 서버에서 @RequestBody로 받기. (0) 2018.01.21 스프링에서 @RequestParam 사용 (0) 2017.12.10 String을 잘라 배열로 만들 수 있는 split (0) 2017.11.21