文档章节

spring 4.x下让http请求返回json串

iojsinini
 iojsinini
发布于 2015/11/30 16:30
字数 433
阅读 44
收藏 0

当前很多应用已经开始将响应返回为json串,所以基于springframework框架开发的服务端程序,让响应返回json字符串成为了一种常用手段。
这里介绍一下如何在spring-MVC框架下方便快捷的返回json字符串。

首先,需要在controller类的方法名头上加@ReponseBody注解,但是只增加这个注解是不够的,在使用httpclient4.5.x模拟post请求时,出现http status 406的错误:

Java代码  
406 Not Acceptable 指定的资源已经找到,但它的MIME类型和客户在Accpet头中所指定的不兼容(HTTP 1.1新)
如果采用Spring-MVC框架开发,那么解决办法如下: 

1)在spring-servlet.xml里增加 

Java代码  
<mvc:annotation-driven>  
    <mvc:message-converters register-defaults="true">  
        <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"  
            p:supportedMediaTypes="*/*" />  
    </mvc:message-converters>  
</mvc:annotation-driven>  
<mvc:annotation-driven>
	<mvc:message-converters register-defaults="true">
		<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"
			p:supportedMediaTypes="*/*" />
	</mvc:message-converters>
</mvc:annotation-driven>

2)maven项目,在pom.xml里增加 

Java代码  
<dependency>  
    <groupId>org.codehaus.jackson</groupId>  
    <artifactId>jackson-mapper-asl</artifactId>  
    <version>1.9.13</version>  
</dependency>  
<dependency>  
    <groupId>org.codehaus.jackson</groupId>  
    <artifactId>jackson-core-asl</artifactId>  
    <version>1.9.13</version>  
</dependency>  
	<dependency>
		<groupId>org.codehaus.jackson</groupId>
		<artifactId>jackson-mapper-asl</artifactId>
		<version>1.9.13</version>
	</dependency>
	<dependency>
		<groupId>org.codehaus.jackson</groupId>
		<artifactId>jackson-core-asl</artifactId>
		<version>1.9.13</version>
	</dependency>

gradle项目,在build.gradle文件的dependencies项下增加 

Java代码  
compile 'org.codehaus.jackson:jackson-mapper-asl:1.9.13'  
compile 'org.codehaus.jackson:jackson-core-asl:1.9.13'  
	compile 'org.codehaus.jackson:jackson-mapper-asl:1.9.13'
	compile 'org.codehaus.jackson:jackson-core-asl:1.9.13'

附:我在测试时用httpclient4.5.x模拟post请求时返回的数据 

Java代码  
response.toString():  
HttpResponseProxy{HTTP/1.1 200 OK [Server: Apache-Coyote/1.1, Content-Type: application/json;charset=UTF-8, Transfer-Encoding: chunked, Date: Tue, 29 Jul 2015 08:42:29 GMT]}  
  
EntityUtils.toString(entity, "utf-8"):  
{"code":0,"flag":false,"message":"用户名错误,请填写手机号码或者Email!","uid":-1,"mobile":null,"email":null,"username":null}

下载地址java后台框架源码 springmvc mybatis oracle mysql maven HTML5 bootstrap 全新技术   

© 著作权归作者所有

共有 人打赏支持
iojsinini
粉丝 0
博文 6
码字总数 4206
作品 0
广州
私信 提问
Spring跨域问题

spingMVC 3.X跨域 关于跨域问题,主要用的比较多的是cros跨域。 详细介绍请看https://developer.mozilla.org/zh-CN/docs/Web/HTTP/AccesscontrolCORS 但是,在springmvc+angularjs下支持跨域...

刘引惟
2016/11/17
26
0
spring 4.x下让http请求返回json串

当前很多应用已经开始将响应返回为json串,所以基于springframework框架开发的服务端程序,让响应返回json字符串成为了一种常用手段。 这里介绍一下如何在spring-MVC框架下方便快捷的返回jso...

gaolu
2015/11/28
259
1
Android Volley框架的几种post提交请求方式

首先简单描述一下Google的Android开发团队在2013年推出的一个网络通信框架Volley.它的设计目标是进行数据量不大,但通信频繁的网络操作,而对于大数据量的网络操作,比如下载文件等,Volley的...

gaolu
2014/08/08
0
1
springmvc学习笔记(18)-json数据交互

springmvc学习笔记(18)-json数据交互 标签: springmvc [TOC] 本文主要介绍如何在springmvc中进行json数据的交互,先是环境准备和配置,然后分别展示了“输入json串,输出是json串”和“输入...

brianway
2016/03/15
192
0
如何让 SpringMVC Controller的同一个URL请求,根据逻辑判断返回JSON或者HTML视图?

有这样一个需求,用户注册时,对于浏览器终端和非浏览器终端发起的 HTTP 请求,都走同一个 URL:/user/register。如果是基于浏览器的终端,返回一个 HTML 视图;如果请求来自于非浏览器终端,...

zchuanzhao
2015/09/29
42
0

没有更多内容

加载失败,请刷新页面

加载更多

nacos之springboot

本地操作系统:ubuntu18,我使用docker的方式启动nacos服务 docker image方式启动nacos 在docker hub上可以搜到nacos-server List-1.1 拉去最新的版本 mjduan@mjduan-ubuntu:/opt/software$ ...

克虏伯
36分钟前
3
0
指针数组和数组指针的区别

这两个名字不同当然所代表的意思也就不同。我刚开始看到这就吓到了,主要是中文太博大精深了,整这样的简称太专业了,把人都绕晕了。从英文解释或中文全称看就比较容易理解。 指针数组:arr...

天王盖地虎626
今天
3
0
Qt那些事0.0.18

今天要记一下Qt中的Resource。自我感觉理解的不错,但是还会难免有谬误,在日后有可能会更新,也有可能不会。 小声的念叨一句,女人心,海底针。 今天就直接跳过了关于QML在qrc文件中的介绍,...

Ev4n
今天
2
0
深入解析js的作用域、预解析机制

虽然,ES6在我们工作中应用得越来越广泛,但是还是很多项目保留着ES5的写法,所以,今天,带着大家重新巩固下ES5下的作用域及预解析机制。 概念: 作用域:域,指的是一个空间、范围、区域,...

前端攻城老湿
今天
2
0
Spring Cloud Feign - 声明式 REST Client

1、Feign是什么 声明式REST client,来自NetFlix。 允许你编写无实现代码调用REST services 替换RestTemplate(甚至更简单) Spring Cloud 为使用Feign提供了包装器 2、怎样使用Feign 对比:...

Benz001
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部