栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringBoot配置内容协商

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot配置内容协商

本文基于 SpringBoot 2.6.3 版本,spring-webmvc 5.3.15版本

官方文档:https://docs.spring.io/spring-boot/docs/2.6.3/reference/htmlsingle/#web.servlet.spring-mvc.content-negotiation

默认情况下,SpringBoot中SpringMVC接口返回的数据是json格式,但有些时候同样的数据我们可能需要根据请求来返回不同的格式。即同一个接口可以返回json格式,又可以返回xml格式。
需要额外添加如下依赖:


    com.fasterxml.jackson.dataformat
    jackson-dataformat-xml

默认情况下SpringMVC根据Accept请求头来确定返回什么格式给客户端。所以在添加了jackson-dataformat-xml直接在浏览器访问接口返回的是xml格式的数据。如果想要返回json格式,可以手动设置Accept为application/json。

但如果http客户端无法设置Accept,可以使用请求参数format=json来指定返回的数据格式,优先级高于Accept,但是默认没有开启,需要添加如下参数开启:

spring.mvc.contentnegotiation.favor-parameter=true


在spring-webmvc 5.2.4之前的版本中支持根据url后缀来返回数据格式,但是该版本开始,已经被标记过时,不推荐该方式

WebMvcConfigurationSupport中会自己推断支持哪些类型,但是对于默认不支持的类型则需要自己通过如下属性设置支持哪些类型. 和配置解析器. 如果key相同则会覆盖推断出来的.

spring.mvc.contentnegotiation.media-types.customType=customType
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/735277.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号