国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Spring Mvc 輸出Json(iwantmoon.com出品)

2019-11-15 00:15:10
字體:
來源:轉載
供稿:網友
SPRing Mvc 輸出Json(iwantmoon.com出品)

原文:http://iwantmoon.com/Post/f94e49caf9b6455db7158474bab4c4dd

因為工作需要,現在要去做開放平臺,考慮了多種方案之后,基本確定 下來,Http Api and Web Serivce兩種,REST API 就需要通過Spring Mvc輸出Json,這里面其實還是有一些工作可以做的,比如大量用戶訪問的情況下,怎保證性能、保證流量和穩定性。當然本篇我們還是主要討論如何去實現它。

接下來,大家跟著我做吧。

首先,我們要了解Spring Mvc本身并沒有提供JsonView的支持,這里面,我們需要通過Jackson 第三方實現的幫助,實現他。

那么我們要加入依賴引用:

<!-- json -->        <dependency>            <groupId>org.codehaus.jackson</groupId>            <artifactId>jackson-core-lgpl</artifactId>            <version>1.8.1</version>        </dependency>        <dependency>            <groupId>org.codehaus.jackson</groupId>            <artifactId>jackson-mapper-lgpl</artifactId>            <version>1.8.1</version>        </dependency>        <dependency>            <groupId>com.fasterxml.jackson.core</groupId>            <artifactId>jackson-core</artifactId>            <version>2.1.0</version>        </dependency>        <dependency>            <groupId>com.fasterxml.jackson.core</groupId>            <artifactId>jackson-databind</artifactId>            <version>2.1.0</version>        </dependency>        <dependency>            <groupId>com.fasterxml.jackson.core</groupId>            <artifactId>jackson-annotations</artifactId>            <version>2.1.0</version>        </dependency>

上面是Jackson部分,下面還有spring mvc和其他的部分

        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-webmvc</artifactId>            <version>${spring.version}</version>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-context-support</artifactId>            <version>${spring.version}</version>        </dependency>        <dependency>            <groupId>javax.servlet</groupId>            <artifactId>javax.servlet-api</artifactId>            <version>${servlet.version}</version>            <scope>provided</scope>        </dependency>        <dependency>            <groupId>javax.servlet</groupId>            <artifactId>jstl</artifactId>            <version>${jstl.version}</version>        </dependency>        <dependency>            <groupId>javax.servlet.jsp</groupId>            <artifactId>jsp-api</artifactId>            <version>${jsp.version}</version>            <scope>provided</scope>        </dependency>    

mvn clean install

經過一段時間的等待,依賴包下載到本地,OK,我們可以開始配置 我們的項目了。

由于本文中心是Spring mvc 輸出Json,所以會略過Spring mvc的配置,如果需要,大家可以參考spring.io

下面,我們加入Jaskson的配置:

<bean id="stringConverter" class="org.springframework.http.converter.StringHttpMessageConverter">        <property name="supportedMediaTypes">            <list>                <value>text/plain;charset=UTF-8</value>            </list>        </property>    </bean>    <!-- 輸出對象轉JSON支持 -->    <bean id="jsonConverter"          class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"></bean>    <bean            class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">        <property name="messageConverters">            <list>                <ref bean="stringConverter"/>                <ref bean="jsonConverter" />            </list>        </property>    </bean>

寫一個Sample Controller:

@RestControllerpublic class JsonController extends BaseController {    @RequestMapping(value = "/user", method = RequestMethod.GET)    @JsonView(User.WithoutPassWordView.class)    public User getUser() {        return new User("eric", "7!jd#h23");    }}
public class User {    public interface WithoutPasswordView {};    public interface WithPasswordView extends WithoutPasswordView {};    private String username;    private String password;    public User() {    }    public User(String username, String password) {        this.username = username;        this.password = password;    }    @JsonView(WithoutPasswordView.class)    public String getUsername() {        return this.username;    }    @JsonView(WithPasswordView.class)    public String getPassword() {        return this.password;    }}

OK,下面是運行結果:

大家有問題,歡迎加入我們敲代碼(http://iwantmoon.com)官方QQ群:299388502


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 名山县| 兴城市| 疏勒县| 军事| 资兴市| 泸水县| 宁乡县| 美姑县| 韶山市| 兴化市| 阜南县| 平邑县| 永兴县| 即墨市| 贵港市| 黄石市| 罗田县| 崇礼县| 新密市| 依兰县| 额尔古纳市| 习水县| 都江堰市| 满城县| 玉田县| 麻江县| 乌拉特后旗| 上栗县| 正宁县| 绥芬河市| 陵川县| 前郭尔| 海兴县| 扬中市| 通州市| 翁牛特旗| 台东县| 金乡县| 英超| 鱼台县| 阿荣旗|