当前很多应用已经开始将响应返回为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}
分享到:
相关推荐
接着,我们定义Spring MVC的Controller,它将接收HTTP请求,通过Service层调用DAO层完成业务逻辑,最后返回视图或者JSON响应。 Spring MVC中的ModelAndView或Model对象用于传递数据到视图,而视图解析器(如...
在现代Web开发中,前后端分离是常见的架构模式,Spring框架的Spring MVC模块提供了一种高效的方式处理HTTP请求。在Spring 3.x版本中,JSON作为一种轻量级的数据交换格式,广泛用于前后端数据传输。本篇文章将详细...
在上面的代码中,`@RequestMapping`用于指定URL路径,`@GetMapping`、`@PostMapping`、`@PutMapping`和`@DeleteMapping`是Spring 4.x以后的简化版,但在Spring 3.x中我们需要使用`@RequestMapping`配合`method`属性...
本教程将详细讲解如何在Spring Boot 3.x版本中结合Spring Security的最新版实现JWT(JSON Web Token)登录验证。 首先,让我们了解JWT。JWT是一种轻量级的身份认证和授权机制,它以JSON对象的形式在客户端和服务器...
在Spring框架中,我们主要使用`@RestController`注解来创建RESTful控制器,它结合了`@Controller`和`@ResponseBody`的功能,用于处理HTTP请求并返回JSON或XML等数据格式。 1. **配置Spring MVC**:首先,我们需要在...
标题提到的"最新版本 Jackson 2.8.2 jar与Spring 4.x @ResponseBody配合使用"涉及到的关键知识点包括Jackson的三个核心模块,以及如何在Spring MVC中利用这些模块实现RESTful API的数据响应。 1. **Jackson核心模块...
7.10.4 在其他Web应用服务器下的配置 7.11 小结 第3篇 数据访问 第8章 Spring对DAO的支持 8.1 Spring的DAO理念 8.2 统一的异常体系 8.2.1 Spring的DAO异常体系 8.2.2 JDBC的异常转换器 8.2.3 其他持久技术的异常...
<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" /> <!-- Spring配置类 示例 --> @Configuration @EnableWebMvc public class WebConfig implements ...
如果判断是 AJAX 请求,我们可以通过 `response.getWriter().write(jsonErrorMessage)` 将错误信息以 JSON 格式写入响应,其中 `jsonErrorMessage` 是一个包含错误信息的 JSON 字符串。对于非 AJAX 请求,我们可以像...
然而,需要注意的是,随着Java生态的发展,Spring Framework中的RestTemplate或WebClient(针对Spring Boot 2.x及以上版本)也成为了常用的HTTP客户端工具,它们提供了更高级别的抽象和更好的集成性。
7.10.4 在其他Web应用服务器下的配置 7.11 小结 第3篇 数据访问 第8章 Spring对DAO的支持 8.1 Spring的DAO理念 8.2 统一的异常体系 8.2.1 Spring的DAO异常体系 8.2.2 JDBC的异常转换器 8.2.3 其他持久技术的异常...
4. **内容协商**:Spring 3.0支持多种媒体类型的响应,例如JSON、XML等,通过@Produces和@Consumes注解进行内容类型的选择。 5. **模板引擎集成**:Spring 3.0加强了对各种视图技术(如FreeMarker、Thymeleaf、JSP...
同样,当返回JSON响应时,只需要返回一个Java对象,Spring会调用Jackson将其转换为JSON字符串。 例如,假设有一个简单的`User`类: ```java public class User { private String name; private int age; // ...
Spring4 MVC作为Java领域最流行的MVC框架之一,提供了一流的支持来构建RESTful API,尤其适合输出JSON格式的数据结构。本文将深入探讨如何使用Spring4 MVC实现这一目标。 首先,理解REST(Representational State ...
此外,Spring MVC 4还支持RESTful风格的Web服务,通过@RequestMapping注解的produces和consumes属性,可以处理不同格式的HTTP请求和响应,如JSON、XML等。 总的来说,"Mastering Spring MVC 4(2015.09)源码"提供了...
下面,我们将详细探讨Spring MVC 4.X REST JSON示例中的关键知识点。 1. **Spring MVC 4.1.4**: 这是Spring MVC框架的一个稳定版本,包含了各种性能优化和新特性,比如对Java 8的全面支持,以及改进的类型安全的...
<bean class="com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider"/> ``` 在这里,`address="/"`指定了服务的基础URL,`serviceBeans`包含了服务的实现类,`providers`则添加了JSON序列化/反序列化的...
在Spring MVC 4.x版本中,开发者可以使用@ResponseBody注解来简化控制器层向客户端返回JSON格式数据的过程。 ### @ResponseBody注解使用方法 @ResponseBody注解可以作用于方法上,它会指示Spring MVC框架将该方法...
**Spring Security 3.0.x 知识点详解** Spring Security 是一个强大的和高度可定制的身份验证和访问控制框架,广泛应用于Java企业级应用的安全管理。Spring Security 3.0.x 版本是该框架的一个重要里程碑,它提供了...
2. 创建控制器:定义一个处理AJAX请求的控制器方法,返回JSON数据。 3. 前端页面:使用JavaScript(如jQuery的$.ajax或fetch API)发起AJAX请求,指定请求类型为GET或POST,接收JSON响应。 4. 测试:运行应用,通过...