В Spring Data Rest проблема конфигурации Swagger2 с использованием профиля - PullRequest
0 голосов
/ 24 мая 2019
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>3.0.0-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>3.0.0-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-data-rest</artifactId>
            <version>3.0.0-SNAPSHOT</version>
        </dependency>
@Profile({"dev-test", "local-test"})
@Configuration
@EnableSwagger2WebMvc
public class SwaggerConfig {

    @Bean
    public Docket documentation() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.any())
                .paths(s -> s.matches("/_api/.*"))
                .build();
    }
}

Эта ошибка возникает, когда profile не является local-test или dev-test.

***************************
APPLICATION FAILED TO START
***************************

Description:

Parameter 4 of constructor in springfox.documentation.spring.data.rest.EntityServicesProvider required a bean of type 'com.fasterxml.classmate.TypeResolver' that could not be found.


Action:

Consider defining a bean of type 'com.fasterxml.classmate.TypeResolver' in your configuration.

Привет, я использую Swagger3.0 с Spring Data Rest.

Это ссылка, на которую я ссылался. https://stackoverflow.com/a/46458135/10345277

Я пытаюсь включить или выключить Swagger с помощью профиля.

Однако, в отличие от вышеуказанной ссылки, я использую SDR, а springfox.documentation.spring.data.rest выдает ошибку.

Есть ли решение?

1 Ответ

0 голосов
/ 24 мая 2019

мой swagger3.0 в порядке, как это:

@ConditionalOnClass(value = {Swagger.class})
@Profile({"dev", "test"})
@Configuration
@EnableSwagger2
public class SwaggerConfig {   
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("your base package"))
                .paths(PathSelectors.any())
                .build();
}
...