【问题标题】:Spring Cloud version Hoxton.SR5 is giving XML format as HTTP response by defaultSpring Cloud 版本 Hoxton.SR5 默认将 XML 格式作为 HTTP 响应
【发布时间】: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>

当我使用 &lt;spring-cloud.version&gt;Hoxton.SR3&lt;/spring-cloud.version&gt; 时,它返回 JSON 格式:

[
    {
        "productId": 1,
        "productName": "Samsung LED TV",
        "quantity": 100,
        "itemType": "TV",
        "itemGroup": "Entertainement"
    }
]

          

Hoxton.SR5 默认返回 XML 格式有哪些变化?如何确保在使用 Hoxton.SR5 时获得 JSON 格式?

【问题讨论】:

  • 是的,Hoxton.SR4 和 Hoxton.SR5 之间发生了一些变化,这里有一个类似的问题stackoverflow.com/questions/62929410/…
  • 另外,我看到如果没有指定 Accept 标头,Spring Boot 会使其 Accept: [application/xml, text/xml, application/json, application/*+xml, application/*+json ],优先考虑application/xml。一种可能的解决方案是手动指定 Accept 标头 Accept: [application/json]

标签: json xml spring spring-boot netflix-eureka


【解决方案1】:

在我的情况下,它是由 eureka-client 升级引起的,它将 jackson-dataformat-xml 带到类路径。

【讨论】:

    猜你喜欢
    • 2017-04-23
    • 2018-09-10
    • 2020-10-05
    • 1970-01-01
    • 2017-11-21
    • 1970-01-01
    • 2021-10-08
    • 1970-01-01
    • 2017-11-18
    相关资源
    最近更新 更多