Spring Cloud 版本 Hoxton.SR5 默认将 XML 格式作为 HTTP 响应
Posted
技术标签:
【中文标题】Spring Cloud 版本 Hoxton.SR5 默认将 XML 格式作为 HTTP 响应【英文标题】:Spring Cloud version Hoxton.SR5 is giving XML format as HTTP response by default 【发布时间】:2020-10-18 15:09:53 【问题描述】:当我在 Spring Boot 应用程序中使用 <spring-cloud.version>Hoxton.SR5</spring-cloud.version>
时,默认情况下它会在 HTTP 响应中返回 XML 格式:
<List>
<item>
<productId>1</productId>
<productName>Samsung LED TV</productName
<quantity>100</quantity
<itemType>TV</itemType>
<itemGroup>Entertainement</itemGroup>
</item>
</List>
当我使用 <spring-cloud.version>Hoxton.SR3</spring-cloud.version>
时,它返回 JSON 格式:
[
"productId": 1,
"productName": "Samsung LED TV",
"quantity": 100,
"itemType": "TV",
"itemGroup": "Entertainement"
]
Hoxton.SR5
默认返回 XML 格式有哪些变化?如何确保在使用 Hoxton.SR5
时获得 JSON 格式?
【问题讨论】:
是的,Hoxton.SR4 和 Hoxton.SR5 之间发生了一些变化,这里有一个类似的问题***.com/questions/62929410/… 另外,我看到如果没有指定 Accept 标头,Spring Boot 会使其 Accept: [application/xml, text/xml, application/json, application/*+xml, application/*+json ],优先考虑application/xml。一种可能的解决方案是手动指定 Accept 标头 Accept: [application/json] 【参考方案1】:在我的情况下,它是由 eureka-client 升级引起的,它将 jackson-dataformat-xml 带到类路径。
【讨论】:
以上是关于Spring Cloud 版本 Hoxton.SR5 默认将 XML 格式作为 HTTP 响应的主要内容,如果未能解决你的问题,请参考以下文章
将 Spring Cloud 版本从 Edgware 升级到 Hoxton
从 Hoxton.SR4 升级到 Spring Cloud Hoxton.SR7 后遇到错误
翻车!Spring Boot 2.2.3 不兼容 Spring Cloud Hoxton.SR1
Spring Cloud Stream kafka 指标未显示在执行器指标中 | Spring Boot 2.2.2 | Spring Cloud Hoxton.SR4
Spring Cloud Hoxton.SR5 与 Eureka 和 WebFlux 的问题:超过了缓冲区的最大字节数限制