Контроллер Spring, формат данных Jackson и хранилище BLOB-объектов Azure v10 - PullRequest
0 голосов
/ 04 января 2019

У нас довольно большой проект на основе Spring с API, возвращающим данные json по умолчанию.Как только мы добавим в библиотеку maven pom зависимость библиотеки azure-storage-blob, все контроллеры вместо того, чтобы возвращать json по умолчанию, возвращают xml.Я удаляю зависимость и возвращаюсь к json.

Кажется, что он связан с форматом данных Джексона, потому что, когда я его исключаю:

<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 .... но Azure делаетбольше не работает:)

У вас есть идеи, как с этим справиться?

Спасибо и хорошего вам дня

Редактировать 2018-01-07: Джексонстарый друг, и я добавил весеннюю конфигурацию, чтобы принудительно использовать json в качестве запасного формата, поскольку он не идеален:

@Override public void configureContentNegotiation(ContentNegotiationConfigurer conf) { 

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

Это работает частично, так как появляются некоторые побочные эффекты

1 Ответ

0 голосов
/ 04 января 2019

Похоже, вам, возможно, придется использовать com.fasterxml.jackson.core в документации по Azure-storage-java , это то, что используется для анализа данных в Json. Я также предложил бы проверить эту документацию относительно ядра Джексона, которая также может помочь.

...