<!-- 配置SpringMVC @ResponseBody和@RequestBody注解 -->
<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">
<property name="supportedMediaTypes">
<list>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
配置好之后,使用@RequestBody尝试转换json为Javabean,有时会返回HTTP错误码415 Unsupported media type,把log改为debug,Spring并没有给出有用信息。网上有些说法是修改HttpRequest头的Accept和Content-type,无效。经过代码追踪发现,其实是实现转换的Jackson包抛出异常,而Spring拦截了该异常,错误信息丢失……
一般来说Json的每种数据,都有相应的Java类型,Jackson无法进行转换通常有两个原因:
1.Javabean没有实现无参数的构造方法。
2.Javabean无法序列化,有可能是定义Javabean的是内部类……
3.Javabean使用了泛型,虽然Jackson支持泛型但是@RequestBody不支持输入泛型类型参数,所以不要在Javabean上使用泛型……
解决以上两个问题,再也不报415了。
分享到:
相关推荐
综上所述,这个项目展示了如何利用Spring 3.x的注解配置,配合Hibernate 3.x进行持久化操作,并通过SpringMVC处理HTTP请求,构建一个高效、灵活的企业级应用。通过深入理解这些框架和注解的用法,开发者能够更有效地...
8. **异常处理**:Spring MVC提供了全局异常处理机制,通过`@ControllerAdvice`和`@ExceptionHandler`注解,可以集中处理异常并返回自定义的错误响应。 在实际开发中,结合以上知识,我们可以构建一个完整的RESTful...
6. **错误处理**:在处理JSON数据时,可能出现解析错误,如JSON格式不正确等。Spring MVC提供了`@ExceptionHandler`注解来处理这些异常,你可以自定义异常类,并在Controller中捕获并返回友好的错误信息。 7. **...
7. **错误处理**: - 当JSON序列化或反序列化过程中出现错误时,Spring MVC会抛出异常。通常,你可以通过自定义异常处理器(如`@ControllerAdvice`和`@ExceptionHandler`)来捕获并优雅地处理这些错误。 8. **其他...
- **错误处理**:在处理JSON序列化和反序列化异常时,应捕获`JSONException`并给出适当的错误响应。 - **安全性考虑**:FastJson存在一些安全问题,如不合理的配置可能导致DoS攻击。因此,在生产环境中务必关注...
- **类型安全**:在处理JSON数据时,确保Java对象的属性与JSON字段匹配,避免出现序列化或反序列化错误。 - **定制序列化/反序列化**:通过使用`@JsonAutoDetect`、`@JsonProperty`、`@JsonIgnore`等注解,可以...
在开发基于Spring MVC的Web应用时,我们常常会遇到数据传输的问题,特别是在处理RESTful API时,使用`@ResponseBody`注解将Java对象转换为JSON格式返回给客户端。然而,有时候这种转换过程中可能会出现错误,比如...
《Spring MVC 3.0实战指南》,参考《Spring 3.x企业应用开发实战》。 内容简介: 1、Spring MVC框架简介 2、HTTP请求地址映射 3、HTTP请求数据的绑定 4、数据转换、格式化、校验 5、数据模型控制 6、视图及解析器 7...
在使用IE8浏览器配合SpringMVC框架进行文件上传的过程中,可能会遇到一个问题,即在上传文件时,服务器返回的JSON数据被浏览器误处理为需要下载的文件,而不是直接在页面上显示JSON内容。这种情况通常是由于浏览器的...
// 处理错误响应 }); ``` 通过以上两个步骤,你应该能成功地让SpringMVC后台接收到AngularJS的POST请求参数。如果问题仍然存在,可能需要检查其他可能的影响因素,如跨域设置(CORS)、拦截器配置等。确保前后端...
4. **错误处理**:处理可能出现的异常,如文件大小限制、文件类型检查等,返回错误码和错误信息。 5. **安全性考虑**:服务端应确保上传安全,避免XSS和CSRF攻击,可以通过验证令牌或设置过滤规则实现。 6. **性能...
然后配置了请求的URL为"/user/downReport",该URL映射到后端SpringMVC的处理方法。请求类型为POST,表示发送一个请求,请求体中包含了我们想要提交的数组。在data对象中,我们用键downReportArray指代了要提交的数组...
在SSM(Spring、SpringMVC、MyBatis)框架整合中,当使用LayUI的拖拽图片上传功能,若前端页面和后台接口不在同一个源下,就会出现这种问题。 在前端,LayUI的图片上传组件通过JavaScript的`layui.upload`方法实现...