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>

这里写图片描述

就会把文件下载下来。

目录
相关文章
|
Java Apache 容器
Invalid &lt;url-pattern&gt; /admin/*.jsp in filter mapping
完成错误信息 严重: A child container failed during start java.util.concurrent.ExecutionException: org.apache.
1131 0
|
9月前
|
Java 数据库连接 mybatis
Mybatis &lt;if&gt; 判断中注意不能使用AND
Mybatis &lt;if&gt; 判断中注意不能使用AND
62 0
|
Java Spring
spring data jpa中@Query中的模糊查询&lt;like关键字&gt;
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tomnic_ylwang/article/details/47340799 ...
2380 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,可以判断是后台出错。
1224 0
|
Java 数据库连接 mybatis
MyBatis 返回 List&lt;String&gt; mapperxml怎么写?
版权声明:本文为 testcs_dn(微wx笑) 原创文章,非商用自由转载-保持署名-注明出处,谢谢。 https://blog.csdn.net/testcs_dn/article/details/80742083 有时候,我们不需要整个表的所有字段,而是只需要某一个字段的内容,比如:我希望从资产表中查出所有资产的名称,并且不存在重复。
5366 0
|
Java
[Struts]"Cannot find bean in any scope"之一解
问题描述 今天在开发中遇到一奇怪问题,有一个action,在该action里使用request.setAttribute()方法将一个List类型对象放在request中,然后forward到一个jsp文件,该文件的主要内容是使用<logic:iterate>标签将这个List对象中的条目列表显示。
2252 0
|
Java Spring
Spring之<context:property-placeholder location="classpath:... "/>标签路径问题
中classpath:是src目录下的意思;所以加载外部文件的时候需注意下数据源文件的位置
1222 0
|
Java Spring
Spring的replace-method标签
Spring的解析源码 public void parseReplacedMethodSubElements(Element beanEle, MethodOverrides overrides) { NodeList nl = beanEle.
1238 0
|
前端开发 容器 应用服务中间件
SpringMVC 处理静态资源 &lt;mvc:default-servlet-handler/&gt;
SpringMVC 处理静态资源: 1. 为甚么会有这样的问题: 优雅的 REST 风格的资源URL 不希望带 .html 或 .do 等后缀 若将 DispatcherServlet 请求映射配置为 / , 则SpringMVC 将捕获WEB 容器的所有请求, 包括静态资源的请求, SpringMVC
2529 0