为什么80%的码农都做不了架构师?>>>   

当前很多应用已经开始将响应返回为json串,所以基于springframework框架开发的服务端程序,让响应返回json字符串成为了一种常用手段。

这里介绍一下如何在spring-MVC框架下方便快捷的返回json字符串。

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

406 Not Acceptable 指定的资源已经找到,但它的MIME类型和客户在Accpet头中所指定的不兼容(HTTP 1.1新)

如果采用Spring-MVC框架开发,那么解决办法如下:

1)在spring-servlet.xml里增加

<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里增加

<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项下增加

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

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

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}

转载于:https://my.oschina.net/ramboo/blog/536745

spring 4.x下让http请求返回json串相关推荐

  1. ajax返回字符串怎么处理,ajax请求返回json字符串/json对象 处理

    1. 返回json字符串如何处理 $.ajax({ url:xxx, success:function(date){ }, error:function(){ } }); 通过最原始的返回: Prin ...

  2. ajax绑值,AJAX请求,返回json进行页面绑值

    前台代码: index.html 去往含有ajax的页面 点我! queryList.html AJAX请求,返回json进行页面绑值 var name = "测试"; //测试与 ...

  3. SSM+JSP+Bootstrap+Ajax小实例(员工CRUD系统)(五:员工查询前后端(请求返回json的方式))

    原文再续,书接上回.上次我们讲了怎么把用户信息放到model里,然后用jsp+bootstrap做一个简单又不丑陋的界面去展示,但是现在讲究前后端分离,所以我们的接口返回一个json才是如今的王道,这 ...

  4. 【python 爬虫乱码】request请求返回json乱码如何解决

    请求网页返回json 往往出现乱码,那么如何解决呢,举个例子, # -*- coding: utf-8 -*-import requests import json url="https:/ ...

  5. 007_请求返回Json

    1. Json开发相关jar包 2. @RequestBody用于接收用户传入json串转成pojo 3. @ResponseBody把pojo转成json串响应用户 4. 例子 4.1. 新建一个名 ...

  6. 使用jQuery发送POST,Ajax请求返回JSON格式数据

    问题: 使用jQuery POST提交数据到PHP文件, PHP返回的json_encode后的数组数据,但jQuery接收到的数据不能解析为JSON对象,而是字符串{"code" ...

  7. HTTP协议post请求返回json数据

    有两种方式:大家详细看看,非常好用! import java.io.BufferedReader; import java.io.InputStream; import java.io.InputSt ...

  8. ajax返回数据输出成表,javascript代码实例教程-ajax请求返回Json格式数据如何循环输出成table形式...

    小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过. 首先,Ajax请求数据,(用的是Jquery的Ajax) [javascript] $(function(){ ...

  9. springboot 返回json串含有斜杠

    想着把复杂对象缓存存进redis,前端请求后端时,每次都只从redis拿直接返回,通常解法是将对象序列化,但是这样很麻烦,又要反序列化. 于是想到直接存json串,事实上就是存String,但是当我把 ...

  10. 菜鸟学习Spring——SpringMVC注解版解析不同格式的JSON串

    一.概述 不同格式的JSON串传到后台来实现功能这个是我们经常要做的一件事,本篇博客就给大家介绍四种不同的JSON串传到后台后台如何用@RequestBody解析这些不同格式的JSON串的. 二.代码 ...

最新文章

  1. 掌握Python 机器学习 读书笔记 9 (流水线 算法保存)
  2. C语言system函数(C语言程序中执行命令行)
  3. 7.1 安装软件包的三种方法 7.2 rpm包介绍 7.3 rpm工具用法 7.4 yum工具用法 7.5 yum搭建本地仓库...
  4. jsp中的内置对象(9个)、作用
  5. curl 升级 php,将命令行cURL转换为PHP cURL
  6. 基于Visual studio+Opencv+Python的透视变换、图像处理(灰度化、二值化、Canny边缘检测)模型——以2015数学建模A题太阳影子定位为例
  7. 如何让WebStorm正常显示出中文提示,使得中文能够正常输入,请看这里
  8. 新手入门 | 算法书籍推荐
  9. C++高级编程资料汇总(参考手册+电子书+编程思想+算法分析)
  10. 进击的拼多多,淘宝如何应对
  11. 数据挖掘与分析应用2:大厂制作周报报表制作方法与标准格式,联动使用index和match配合sumif和sumifs函数
  12. BZOJ 1050: [HAOI2006]旅行comf
  13. 王二是如何看到李四的《艳娘传奇》的,快来了解一下ROS2的话题机制吧!
  14. 著名平面设计师有哪些?你想成为他们嘛?
  15. mysql lucene 结合_Lucene基础(四)-- 结合数据库使用
  16. 嵌入式实时操作系统4——任务调度
  17. usaco1.3 calfflac 2008.11.5
  18. 【记录】传统的医学图像增强方法
  19. 轻量级网络之mobilenet_v1详解
  20. xp系统怎么启动任务计划服务器,windowsXP操作系统如何设置计划任务

热门文章

  1. 团队开发——冲刺2.g
  2. iOS “项目名” has conflicting provisioning settings.
  3. ZOJ 3494 BCD Code(AC自动机 + 数位DP)题解
  4. [Oracle] SQL*Loader 详细使用教程(5)- 典型例子
  5. python基础知识第一节
  6. Loadrunner11 下载、安装与破解
  7. Oracle中的sql操作符 和分析函数
  8. C语言中的位操作(3)--两整数中的最大值与最小值
  9. 时间序列分析工具箱——tibbletime
  10. DOM-基本概念及使用