-
[Spring] REST JSON Response 예제Spring/기타 2019. 5. 26. 18:56반응형
1.
BeanNameViewResolver,
MappingJackson2JsonView 적용
BeanNameViewResolver 클래스는 뷰 이름과 동일한 이름을 갖는 빈을 뷰 객체로 사용합니다. BeanNameViewResolver는 주로 커스텀 View 클래스를 뷰로 사용해야 하는 경우 사용됩니다. 스프링4 버전은 자바 객체를 JSON으로 변환해서 보여주는 뷰 구현 클래스인 MappingJackson2JsonView를 제공하고 있습니다. 컨트롤러에서는 다음과 같이 뷰 이름으로 MappingJackson2JsonVie 타입의 빈을 설정해주면 됩니다. MappingJackson2JsonView는 모델에 저장된 모든 객체를 JSON 형식으로 변환해줍니다. MappingJackson2JsonView는 내부적으로 Jackson 라이브러리의 ObjectMapper를 이용해서 자바 객체를 JSON 형식으로 변환합니다.
1_1)
servlet-context.xml
123456789101112131415161718192021<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsd"><context:component-scan base-package="com.tychejin.springrest" /><mvc:annotation-driven /><!-- BeanNameViewResolver 설정--><bean id="viewResolver" class="org.springframework.web.servlet.view.BeanNameViewResolver"/><!-- MappingJackson2JsonView 설정 --><bean id="jsonTemplate" class="org.springframework.web.servlet.view.json.MappingJackson2JsonView"/></beans>cs 1_2)
RESTConfiguration.java
12345678910111213141516package com.tychejin.springrest.config;public class RESTConfiguration {@Beanpublic View jsonTemplate() {MappingJackson2JsonView view = new MappingJackson2JsonView();view.setPrettyPrint(true);return view;}@Beanpublic ViewResolver viewResolver() {return new BeanNameViewResolver();}}cs 2.Jackson 라이브러리 추가
Java 객체를 JSON으로 변환하기 위해서는 Jackson 라이브러를 추가해야합니다.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.tychejin</groupId><artifactId>springrest</artifactId><name>springrest</name><packaging>war</packaging><version>1.0.0-BUILD-SNAPSHOT</version><properties><java-version>1.8</java-version><org.springframework-version>4.1.4.RELEASE</org.springframework-version></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><!-- Spring --><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${org.springframework-version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>${org.springframework-version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>${org.springframework-version}</version></dependency><!-- Jackson --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.4.1</version></dependency></dependencies><build><finalName>springrest</finalName></build></project>cs 3.Controller 생성
EmployeeRestController02.java
123456789101112131415161718192021222324252627package com.tychejin.springrest.controller;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import com.tychejin.springrest.common.CommonUtil;import com.tychejin.springrest.model.Employees;@Controllerpublic class EmployeeRestController02 {public Employees getEmployeeList() {Employees employees = new Employees();employees = CommonUtil.setEmployees(00);return employees;}@RequestMapping(value = "/getEmployees02")public String getAllEmployeesJSON(Model model) {model.addAttribute("Result", getEmployeeList());return "jsonTemplate";}}cs 4.작성한 API 호출
http://localhost:8080/getEmployees02
반응형'Spring > 기타' 카테고리의 다른 글
[Spring] REST XML Response 예제 (0) 2019.05.25