Как настроить пользовательский файл json swagger при весенней загрузке - PullRequest
0 голосов
/ 08 марта 2019

Я использую пружинный ботинок с чванством. Я уже настроил swagger, но теперь я хочу настроить пользовательский файл json, и swagger загружает этот файл, но я не знаю, как это сделать. Я опубликую свой webconfig.java. Я использую весеннюю загрузку 1.3.3 и swagger 2.6.1. Сначала я попытался добавить ресурс в swagger и сослаться на файл json в этом ресурсе, но это не сработало. Кто-нибудь может помочь?

WebConfig.java:

@Configuration
@EnableTransactionManagement
@EnableSwagger2
@EnableJpaRepositories(basePackages = "com.restfulproject.crud.repositories")
@ComponentScan(basePackages = "com.restfulproject.crud.*")
public class WebConfig extends WebMvcConfigurationSupport{

    @Bean
    public Docket userApi() {
        return new Docket(DocumentationType.SWAGGER_2)
        .select()
        .apis(RequestHandlerSelectors.any())
        .paths(PathSelectors.any())
        .build()
        .apiInfo(metaData());

    }

    @Primary
    @Bean
    public SwaggerResourcesProvider swaggerResourcesProvider(InMemorySwaggerResourcesProvider defaultResourcesProvider) {
        return () -> {
            SwaggerResource wsResource = new SwaggerResource();
            wsResource.setName("swagger");
            wsResource.setSwaggerVersion("2.0");
            wsResource.setLocation("/api/config/swagger.json");

            List<SwaggerResource> resources = new ArrayList<>(defaultResourcesProvider.get());
            resources.add(wsResource);
            return resources;
        };
    }

    @Bean
    WebMvcConfigurer configurer () {
        return new WebMvcConfigurerAdapter() {
            @Override
            public void addResourceHandlers (ResourceHandlerRegistry registry) {
                registry.addResourceHandler("/api/config/swagger.json").
                        addResourceLocations("classpath:/config/swagger.json");
            }
        };
    }

    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addRedirectViewController("/api/v2/api-docs", "/v2/api-docs");
        registry.addRedirectViewController("/api/swagger-resources/configuration/ui", "/swagger-resources/configuration/ui");
        registry.addRedirectViewController("/api/swagger-resources/configuration/security", "/swagger-resources/configuration/security");
        registry.addRedirectViewController("/api/swagger-resources", "/swagger-resources");
    }

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/api/swagger-ui.html**").addResourceLocations("classpath:/META-INF/resources/swagger-ui.html");
        registry.addResourceHandler("/api/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
    }

    private ApiInfo metaData() {
        return new ApiInfoBuilder()
            .title("User Crud REST API")
            .description("\"Projeto que utiliza spring boot\"")
            .version("1.0.0")
            .license("Apache License Version 2.0")
            .licenseUrl("https://www.apache.org/licenses/LICENSE-2.0\"")
            .build();

      }


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