有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (5) 个答案

  1. # 1 楼答案

    您可以限制请求处理程序选择器仅扫描项目的包:

        return new Docket( DocumentationType.SWAGGER_2)
            .select()
            .apis( RequestHandlerSelectors.basePackage( "your package" ) )
            ...
    
  2. # 2 楼答案

    例如,如果父包是com。应用程序。微服务

    package com.app.microservice;
    

    然后使用以下代码,它将仅显示包内的控制器,并禁用/排除其他控制器

    @Configuration
    @EnableSwagger2
    public class SwaggerConfig {
    
        @Bean
        public Docket api() {
            return new Docket(DocumentationType.SWAGGER_2)
                    .select()
                    .apis(RequestHandlerSelectors.basePackage("com.app.microservice"))
                    .build();
        }
    
    

    enter image description here

  3. # 3 楼答案

    • 它可以使用谓词来完成。not()

       @Bean
       public Docket api() {
           return new Docket(DocumentationType.SWAGGER_2)
               .select()
               .apis(RequestHandlerSelectors.any())
               .paths(PathSelectors.any())
               .paths(Predicate.not(PathSelectors.regex("/error.*")))
               .build();
       }
      
  4. # 4 楼答案

    这可以通过将@Bean定义移动到主类(带有@SpringBootApplication)并在basePackage()中使用其this.getClass().getPackageName()来实现:

    @Bean
    public Docket swagger() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.basePackage(this.getClass().getPackageName()))
                .paths(PathSelectors.any())
                .build()
                .useDefaultResponseMessages(false);
    }
    
  5. # 5 楼答案

    你也可以使用springfox-swagger2注释。斯普林福克斯。文档注释。阿皮诺

    @ApiIgnore
    public class ErrorController {
    

    这将从文档中排除该类