Плагин Swagger Codegen Maven - проблема с импортом некоторых джерси - PullRequest
0 голосов
/ 13 июня 2018

Я пытаюсь сгенерировать клиентский Api, используя плагин swagger codegen maven, версия 2.3.1.

Но в моем сгенерированном ApiClient.java некоторые операции импорта, связанные с джерси, не работают.Я думаю, что это связано с версией зависимостей джерси, но я не могу найти рабочее решение моей проблемы, даже после 2 дней поиска и попытки.

Как настроить плагин или какие зависимости я должен добавить, чтобы сгенерированный код работал?

не работает импорт (ApiClient.java):

import org.glassfish.jersey.jackson.JacksonFeature;
import org.glassfish.jersey.media.multipart.FormDataBodyPart;
import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
import org.glassfish.jersey.media.multipart.MultiPart;
import org.glassfish.jersey.media.multipart.MultiPartFeature;

Конфигурация подключаемого модуля swagger codegen:

<plugin>
    <groupId>io.swagger</groupId>
    <artifactId>swagger-codegen-maven-plugin</artifactId>
    <version>2.3.1</version>
    <executions>
        <execution>
            <goals>
                <goal>generate</goal>
            </goals>
            <configuration>
                <inputSpec>${project.basedir}/src/main/resources/swagger.json</inputSpec>
                <language>java</language>
                <generateApis>true</generateApis>
                <generateModels>true</generateModels>
                <generateSupportingFiles>true</generateSupportingFiles>
                <generateModelDocumentation>false</generateModelDocumentation>
                <generateModelTests>false</generateModelTests>
                <modelPackage>somePackage.models</modelPackage>
                <apiPackage>somePackage.api</apiPackage>
                <invokerPackage>somePackage.invoker</invokerPackage>
                <configOptions>
                    <dateLibrary>java8</dateLibrary>
                    <sourceFolder>swagger</sourceFolder>
                    <java8>true</java8>
                </configOptions>
                <library>jersey2</library>
                <output>target/generated-sources</output>
                <groupId>somePackage</groupId>
                <artifactId>generatedapi</artifactId>
                <artifactVersion>1.0.0</artifactVersion>
            </configuration>
        </execution>
    </executions>
</plugin>

связанные зависимости:

<dependency>
    <groupId>org.glassfish.jersey.core</groupId>
    <artifactId>jersey-client</artifactId>
    <version>2.25.1</version>
</dependency>
<dependency>
    <groupId>org.glassfish.jersey.media</groupId>
    <artifactId>jersey-media-multipart</artifactId>
    <version>2.25.1</version>
</dependency>
<dependency>
    <groupId>org.glassfish.jersey.media</groupId>
    <artifactId>jersey-media-json-jackson</artifactId>
    <version>2.25.1</version>
</dependency>

Когда я изменяю версию на 2.27, тогда дополнительный импорт не работает:
import org.glassfish.jersey.client.ClientConfig; import org.glassfish.jersey.client.ClientProperties; import org.glassfish.jersey.filter.LoggingFilter;

Когда я изменяю версию на 2.26, такой же дополнительный импорт завершается неудачно, но
import org.glassfish.jersey.jackson.JacksonFeature; работает.

1 Ответ

0 голосов
/ 14 июня 2018

При сегодняшнем испытании это просто сработало.Независимо от того, какую версию джерси я использую.

Я думаю, это как-то связано с кэшированием моей IDE или около того.Я в замешательстве, но рад, что теперь это работает.

...