在swagger ui中指定多个路径时,spec!中未定义任何操作

3qpi33ja  于 2022-11-06  发布在  其他
关注(0)|答案(3)|浏览(264)

我想在Swagger ui中显示两个REST API端点:/推车和/柱。
当我指定/cart或/post时,它们都可以正常工作,但都显示错误为
规范中未定义操作!
swagger 地

@Bean
public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
        .select()
        .apis(RequestHandlerSelectors.any())
        .paths(PathSelectors.ant("/cart"))
        .paths(PathSelectors.ant("/post"))
        .build();
}
7qhs6swi

7qhs6swi1#

另一种选择是使用***.paths(路径选择器.any())***,而不是***.paths(路径选择器.ant(“/cart”)).paths(路径选择器.ant(“/post”))***

wfsdck30

wfsdck302#

对于Sping Boot 2.6.x,您还需要:

spring:  
  mvc:
    pathmatch:
      matching-strategy: ant_path_matcher
e5nszbig

e5nszbig3#

这是因为你使用了AND条件

public ApiSelectorBuilder paths(Predicate<String> selector) {
    pathSelector = pathSelector.and(selector);
    return this;
  }

可以使用OR子句合并条件

.paths(PathSelectors.ant("/cart").or(PathSelectors.ant("/post")))

相关问题