首页 > 解决方案 > Swagger 隐藏具有相同路径或相同 Http 方法的某些端点

问题描述

我有以下端点,我只想公开前 2 个端点:

POST /person // show in Swagger
GET  /person // Do Not show in Swagger

GET  /order // show in Swagger

我将 Swagger 配置为:

@Bean
public Docket swaggerApi() {
    return new Docket(DocumentationType.SWAGGER_2)
            .groupName("externalUser")
            .select()              
            .paths(Predicates.or(
                    PathSelectors.ant("/person"),
                    PathSelectors.ant("/order")))
            .apis(Predicates.or(
       RequestHandlerSelectors.withMethodAnnotation(PostMapping.class),   
       RequestHandlerSelectors.withMethodAnnotation(GetMapping.class)))
            .build();
 

但问题是第二个端点 ( GET /person) 也出现在 Swagger openApi 中,因为它也匹配为 Swagger 配置的 http 方法的路径。如何更改我的配置以使第二个端点不会出现在 Swagger 中?我不能使用@ApiIgnorehidden=true打开,@ApiOperation因为对于内部用户,我们想让他们看到所有端点。

标签: javaswagger-2.0springfox

解决方案


推荐阅读