rest - 使用 springfox Swagger 自定义文档的端点

标签 rest swagger springfox

我在互联网上搜索了如何自定义我的多个案卷的端点,但没有找到答案。

我的模块有几个 API。我想在不同的端点上生成 Swagger 文档,每个端点都位于其相应 API 的根目录上。例如 :

  • 本地主机:8080/v1/subscriptions/doc
  • 本地主机:8080/v1/buckets/doc

  • 我发现只有一种方法可以为我的案卷设置不同的端点,但 URL 与我想要的不对应。他们是 :
  • localhost:8080/doc?group=subscriptions
  • 本地主机:8080/doc?group=buckets

  • 这是我的 Swagger 配置文件
    @Configuration
    @EnableSwagger2
    public class SwaggerConfiguration {
    
    @Value("${info.version}")
    private String version;
    
    @Bean
    public Docket subscriptionsApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .groupName("subscriptions")
                .apiInfo(subscriptionsApiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.mymodule"))
                .paths(PathSelectors.ant("/v1/subscriptions/**"))
                .build();
    }
    
    @Bean
    public Docket bucketsApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .groupName("buckets")
                .apiInfo(bucketsApiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.mymodule"))
                .paths(PathSelectors.ant("/v1/buckets/**"))
                .build();
    }
    
    private ApiInfo subscriptionsApiInfo() {
        return new ApiInfoBuilder()
                .title("Subscriptions Api definition")
                .description("Subscriptions Api definition")
                .version(version)
                .build();
    }
    
    private ApiInfo bucketsApiInfo() {
        return new ApiInfoBuilder()
                .title("Bucket Api definition")
                .description("Bucket Api definition")
                .version(version)
                .build();
    }
    }
    

    在我的 application.yml 文件中,我写道:
    springfox.documentation.swagger.v2.path: "/doc"
    

    你知道一种按照我想要的方式定义端点的方法吗?

    提前致谢

    最佳答案

    我找到了答案!

    @Configuration
    @EnableWebMvc
    public class WebConfig extends WebMvcConfigurerAdapter {
    
    
    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
    
        registry.addRedirectViewController("/v1/subscriptions/doc", "/doc?group=subscriptions");
    
    
    }
    }
    

    关于rest - 使用 springfox Swagger 自定义文档的端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44285341/

    相关文章:

    google-app-engine - App 引擎端点

    rest - FOS 休息包 : unable to find template

    rest - 在 REST API 的 Swagger 定义中实现分页

    Springfox swagger 在 Spring Boot 2.2.0 中不起作用

    spring-boot - 在@ModelAttribute 注释方法中自动记录@PathVariable 注释参数

    sql - 在 Entity Framework 中,创建投影而不是选择完整实体是否更有效/更受欢迎?

    apigee - Swagger:路径参数问题

    java - 通过jetty.xml进行Swagger UI配置

    java - 在 RequestBody 的 POST 上隐藏 ID,但在创建时返回 ID

    java - 如何使用 Restful webservice jersey 删除资源?