SpringMVC 中 HttpMessageConverter<T>

简介: HttpMessageConverter负责将请求信息转换为一个对象(类型为T),将对象(类型为T)输出为响应信息。下面我们说一下如何使用。使用HttpMessageConverter将请求信息转化并绑定到处理方法的入参中或将响应结果转为对应类型的响应信息,SpringMVC提供了两种途径:使用@RequestBody或@ResponseBody对处理方法进

HttpMessageConverter负责将请求信息转换为一个对象(类型为T),将对象(类型为T)输出为响应信息。

这里写图片描述

下面我们说一下如何使用。

使用HttpMessageConverter将请求信息转化并绑定到处理方法的入参中或将响应结果转为对应类型的响应信息,SpringMVC提供了两种途径:

  • 使用@RequestBody或@ResponseBody对处理方法进行标注
  • 使用HttpEntity< T >或 ResponseEntity< T >作为处理方法的入参或返回值

说明:不需要成对的出现。

当控制器处理方法使用到@RequestBody或@ResponseBody或HttpEntity< T >或ResponseEntity< T >时,SpringMVC首先根据请求头或者响应头的Accept属性选择匹配的HttpMessageConverter,进而根据参数类型或泛型类型的过滤得到匹配的HttpMessageConverter,若找不到可用的HttpMessageConverter将报错。

我们看看实例。

这里写图片描述

前台index.jsp加一句就行

<a href="testResponseEntity">Test ResponseEntity </a>

这里写图片描述

就会把文件下载下来。

目录
相关文章
|
15天前
|
JSON 前端开发 Java
解决Spring MVC中No converter found for return value of type异常
在Spring MVC开发中遇到`No converter found for return value of type`异常,通常是因缺少消息转换器、返回值类型不支持或转换器优先级配置错误。解决方案包括:1) 添加对应的消息转换器,如`MappingJackson2HttpMessageConverter`;2) 自定义消息转换器并实现`HttpMessageConverter`接口,设置优先级;3) 修改返回值类型为如`ResponseEntity`的合适类型。通过这些方法可确保返回值正确转换为响应内容。
33 1
|
Java Apache 容器
Invalid &lt;url-pattern&gt; /admin/*.jsp in filter mapping
完成错误信息 严重: A child container failed during start java.util.concurrent.ExecutionException: org.apache.
1125 0
|
8月前
|
Java 数据库连接 mybatis
Mybatis &lt;if&gt; 判断中注意不能使用AND
Mybatis &lt;if&gt; 判断中注意不能使用AND
58 0
|
XML Java 数据安全/隐私保护
filter和interceptor的区别
filter和interceptor的区别
122 0
|
Java
SpringMVC,JSP里treeselect的value值EL表达式报错!500,property not found on type
treeselect是一个列表选框,value是持久层提供的实际值。如果没有value则无法保存默认回显的值。 <sys:treeselect id="" name="" value="${entity.sPnum}" labelName="" labelValue="" title="" url="" extId="" cssClass="form-control" allowClear="true"/> 这段代码无法正常打开页面,f12报get 500,可以判断是后台出错。
1214 0
|
Java 数据库连接 mybatis
MyBatis 返回 List&lt;String&gt; mapperxml怎么写?
版权声明:本文为 testcs_dn(微wx笑) 原创文章,非商用自由转载-保持署名-注明出处,谢谢。 https://blog.csdn.net/testcs_dn/article/details/80742083 有时候,我们不需要整个表的所有字段,而是只需要某一个字段的内容,比如:我希望从资产表中查出所有资产的名称,并且不存在重复。
5362 0
|
Java
[Struts]"Cannot find bean in any scope"之一解
问题描述 今天在开发中遇到一奇怪问题,有一个action,在该action里使用request.setAttribute()方法将一个List类型对象放在request中,然后forward到一个jsp文件,该文件的主要内容是使用<logic:iterate>标签将这个List对象中的条目列表显示。
2238 0
|
前端开发 容器 应用服务中间件
SpringMVC 处理静态资源 &lt;mvc:default-servlet-handler/&gt;
SpringMVC 处理静态资源: 1. 为甚么会有这样的问题: 优雅的 REST 风格的资源URL 不希望带 .html 或 .do 等后缀 若将 DispatcherServlet 请求映射配置为 / , 则SpringMVC 将捕获WEB 容器的所有请求, 包括静态资源的请求, SpringMVC
2524 0

热门文章

最新文章