Spring控制器,Jackson数据格式和Azure Blob存储v10

时间:2019-01-04 08:38:25

标签: java spring azure azure-storage-blobs jackson-dataformat-xml

我们有一个很大的基于Spring的项目,默认情况下API返回JSON数据。 一旦在maven pom中添加了azure-storage-blob库依赖项,所有的控制器(而不是默认情况下返回json)都将返回xml。 我删除了依赖项,然后返回json。

似乎与Jackson数据格式链接,是因为我排除了它:

<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>azure-storage-blob</artifactId>
    <version>10.3.0</version>
    <exclusions>
        <exclusion>
            <groupId>com.fasterxml.jackson.dataformat</groupId>
            <artifactId>jackson-dataformat-xml</artifactId>
        </exclusion>
    </exclusions>
</dependency>

回到json ....但是天蓝色不再起作用:)

您对如何处理有任何想法吗?

谢谢,祝你有美好的一天

编辑2018-01-07: 杰克逊是个老朋友,我添加了spring配置来强制将json作为后备格式,但这并不理想:

@Override public void configureContentNegotiation(ContentNegotiationConfigurer conf) { 

    conf.favorPathExtension(true)
        .favorParameter(false)
        .ignoreAcceptHeader(true)
        .useJaf(false)
        .defaultContentType(MediaType.APPLICATION_JSON);
}

这会部分起作用,因为会出现一些副作用

1 个答案:

答案 0 :(得分:0)

似乎每个Azure存储Java documentation可能都必须使用com.fasterxml.jackson.core,这是将数据解析到Json的方法。我还建议检查有关documentation的杰克逊核心问题,这可能也会有所帮助。