原文地址:http://www.myexception.cn/javascript/1449550.html
spring @ResponseBody 返回json格式问题
错误:
The resource identified by this request is only capable of generating responses with characteristics not acceptable according to the request "accept" headers ().
网上一般的解决方法:
首先引入
jackson-core-asl-1.6.4.jar
jackson-mapper-asl-1.6.4.jar
如果是:
<mvc:annotation-driven />
那么则没有问题
如果把配置换成
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
则会报异常。
那么需要补充配置
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="jsonHttpMessageConverter"/>
</list>
</property>
</bean>
<bean id="jsonHttpMessageConverter"
class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"/>
没错 ,如果缺少上面的jar包,会有这个问题。但是如果加入了jar包还是有这个问题,则考虑换个版本吧。
我项目中原来是spring-3.0.5 , jackson1.5。6这个错误一直存在,换成1.9.11就没有问题了。
分享到:
相关推荐
本篇文章将深入探讨这个问题,提供解决方案,并涉及Spring MVC、Jackson等相关技术。 首先,理解`@ResponseBody`的作用至关重要。它是Spring MVC中的一个注解,用于指示控制器方法的返回值应直接写入HTTP响应体,而...
在Spring MVC 4.x版本中,开发者可以使用@ResponseBody注解来简化控制器层向客户端返回JSON格式数据的过程。 ### @ResponseBody注解使用方法 @ResponseBody注解可以作用于方法上,它会指示Spring MVC框架将该方法...
在Spring MVC框架中,开发Web应用时经常需要将对象转换为JSON格式的数据并返回给客户端。然而,在处理敏感数据时,我们可能希望对这些数据进行脱敏,即隐藏或替换某些字段,以保护用户隐私或者确保数据安全性。本文...
在Spring Boot应用中,当你使用`@ResponseBody`注解将对象转换为JSON并发送到客户端时,日期(Date)类型的字段通常需要特殊处理,因为它们默认可能会被转换为Unix时间戳或者不友好的格式。本篇文章主要介绍了两种...
--处理 @ResponseBody 中文乱码问题 --> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <!-- Support...
`@ResponseBody`是Spring MVC中的一个关键注解,它允许我们将方法返回的对象直接转换为HTTP响应体的内容,通常用于处理JSON或XML格式的数据。 Spring MVC是Spring框架的一部分,专门用于构建Web应用。它提供了模型-...
`@ResponseBody`是Spring MVC提供的一种注解,用于将方法返回的对象直接转换为HTTP响应体的内容,通常用于返回JSON格式的数据。 在标题中提到的"对json格式的数据进行封装和转化",这是一个关键的Web开发技能,涉及...
综上所述,`@ResponseBody`是Spring MVC中实现数据返回的关键组件,它使得我们可以方便地构建RESTful服务,与各种数据格式进行交互。理解其工作原理和使用方式,有助于我们更好地设计和实现高效的Web应用程序。
在Spring MVC中,`@ResponseBody`注解就是依赖于`ObjectMapper`进行JSON序列化和反序列化的。 - **jackson-core**:这个模块提供了基础的JSON读写功能,如流式处理、解析器和生成器,是其他Jackson模块的基础。 - ...
例如,如果你的控制器方法返回一个Java对象,添加`@ResponseBody`后,Spring会使用内置的HttpMessageConverter将对象转换为JSON字符串,使得前端可以解析。这对于RESTful API的开发尤其重要,因为它允许我们以数据...
Spring MVC同样会使用`HttpMessageConverter`将返回的对象转换为合适的格式,如JSON或XML,然后发送给客户端。 ```java @GetMapping("/getUser") @ResponseBody public User getUser(@RequestParam int id) { User...
需要注意的是,@ResponseBody 并不是简单地将 Java 对象转换为 JSON 格式的数据,而是根据客户端的 Accept 请求头来确定输出格式的。这样可以使得输出格式更加灵活和可定制。 本文通过详细的示例代码和源码分析,...
同样,Spring MVC会使用HttpMessageConverter将返回的Java对象转换为适合HTTP响应的数据格式,如JSON或XML。 #### 2.1 JSON与XML数据转换 - 对于JSON数据,Spring MVC默认使用了Jackson库(Jackson2...
在Spring MVC框架中,使用`@ResponseBody`注解可以方便地将控制器方法的返回值转换为JSON格式,然后发送到客户端。本篇文章将详细介绍如何在Spring MVC的XML配置中设置,以便让`@ResponseBody`自动将Java对象转换为...
例如,异步获取 JSON 数据,加上 @Responsebody 注解后,就会直接返回 JSON 数据。这种情况下,浏览器并不会跳转到新的页面,而是将响应结果直接返回给浏览器,而浏览器可以根据需要对响应结果进行处理。 以下是一...
在SpringMVC框架中,`@ResponseBody`注解用于将方法的返回值直接转换为HTTP响应体,通常用于处理JSON或XML格式的数据。然而,当返回的字符串中包含中文字符时,如果没有正确设置编码,就可能导致乱码问题。本文将...
4. **控制器方法的编写**:在 Spring MVC 的控制器类中,我们可以定义处理 HTTP 请求的方法,并使用 `@RequestBody` 和 `@ResponseBody` 注解来接收和返回 JSON 数据。例如: ```java @RequestMapping(value = "/...
在Spring MVC 3中,对JSON的支持是其重要的特性之一,它使得前后端数据交互更加便捷,尤其在如今的Web应用中,JSON已经成为数据传输的标准格式。本篇将深入探讨Spring MVC 3对JSON的支持以及解决常见错误的方法。 ...
在Spring MVC框架中,开发人员经常需要处理不同的数据交换格式,如XML和JSON,以便与客户端进行交互。这两种格式在Web应用中广泛用于传输数据,因为它们轻量级且易于解析。下面我们将深入探讨如何在Spring MVC中生成...
在Spring Boot应用中,通常我们使用`@ResponseBody`注解将Java对象转换为JSON返回给客户端。如果你需要在控制台打印出格式化的JSON,可以使用`Jackson`库中的`ObjectMapper`类,设置`prettyPrinting`属性为`true`,...