Почему мой swagger не работает в Java с Springboot? - PullRequest
0 голосов
/ 01 ноября 2019

Пожалуйста, предложите, как решить эту проблему. Я застрял здесь.

@Configuration
@EnableSwagger2
public class SwaggerConfig {

    @Bean
    public Docket api() {

        return new Docket(DocumentationType.SWAGGER_2);

    }
}

Следующее сообщение об ошибке;

  • *************************** Приложение не удалось запустить


    Описание:

    Параметру 0 метода linkDiscoverers в org.springframework.hateoas.config.HateoasConfiguration требуется один компонент, но найдено 17:

    • modelBuilderPluginRegistry: определено в null
    • modelPropertyBuilder: определено свойство-объекта-объекта:в null
    • typeNameProviderPluginRegistry: определено в null
    • синтетическийModelProviderPluginRegistry: определено в null
    • documentsPluginRegistry: определено в null
    • apiListingBuilderPluginRellistry: определено в 101031 * operationBuilderPluginRegistry: определено в ноль
    • параметрBuilderPluginRegistry: определено в ноль
    • extendedParameterBuilderPluginRegistry: определено в ноль
    • resourceGroupingStrategyRegistry: определено в null
    • operationModelsProviderPluginRegistry: определено в null
    • defaultsProviderPluginRegistry: определено в null
    • pathDecoratorRegistry: определено в null
    • apiListingScannerPlugin: определено в nullRell: в null1046 *
    • relProviderPluginRegistry: определено методом 'relProviderPluginRegistry' в ресурсе пути к классу [org / springframework / hateoas / config / HateoasConfiguration.class]
    • linkDiscovererRegistry: определено в объекте null

Действие:

Рассмотрим пометку одного из компонентов как @Primary, обновлениепотребитель должен принять несколько бинов или использовать @Qualifier для определения бина, который должен потребляться

Ответы [ 4 ]

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

Убедитесь, что вы добавили следующие зависимости в ваш pom.

<dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger2</artifactId>
        <version>**[version here]**</version>
        <exclusions>
            <exclusion>
                <groupId>org.mapstruct</groupId>
                <artifactId>mapstruct-jdk8</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger-ui</artifactId>
        <version>**[version here]**</version>
    </dependency>

Если это не работает, предоставьте больше информации.

0 голосов
/ 01 ноября 2019

Я предполагаю, что вы используете Swagger 2.9.2 и SpringBoot 2.2.x. Имеется открытый выпуск с совместимостью.

0 голосов
/ 01 ноября 2019

Надеюсь, это поможет

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;


@Configuration
@EnableSwagger2
public class SwaggerConfig {

    @Bean
    public Docket siteOfficeApi() {
        return new Docket(DocumentationType.SWAGGER_2)
               .select()
               .apis(RequestHandlerSelectors
                    .basePackage("Basepackage"))
               .paths(PathSelectors.any())
               .build()
               .apiInfo(metaData());
    }

    private ApiInfo metaData() {
        ApiInfo apiInfo = new ApiInfo(
            "Title",
            "Description",
            "Version",
            "Terms of service",
            "Contact Name",
            "License",
            "Licence URL");
        return apiInfo;
    }
}

С этими двумя maven-зависимостями

    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger2</artifactId>
        <version>2.9.2</version>
    </dependency>

    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger-ui</artifactId>
        <version>2.9.2</version>
    </dependency>
0 голосов
/ 01 ноября 2019

Можете ли вы попробовать ниже класс конфигурации, чтобы исправить это.

@Configuration
@EnableSwagger2
public class SwaggerConfig {

    @Bean
    public Docket api() {

        return new Docket(DocumentationType.SWAGGER_2).select()
    .apis(RequestHandlerSelectors.basePackage("package Name")).paths(PathSelectors.any())
                .build();

    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...