spring-boot - swagger 无法识别 api 描述
问题描述
我docket
这样设置
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.basePackage("com.config.internal"))
.paths(Predicates.or(PathSelectors.ant("/api**/**")))
.build();
}
我创建了一组 stub 端点来模仿真实的/login
or /oauth
。
@Api("Authentication")
@RequestMapping("/api")
public interface LoginEndpointApi {
@ApiOperation(value = "Github SSO endpoint", notes = "Endpoint for Github SSO authentication")
@ApiResponses({
@ApiResponse(code = 200, message = "HTML page of main application")
})
@GetMapping("/oauth/github")
default void oauthGithub() {
throw new UnsupportedOperationException();
}
@ApiOperation(value = "Get CSRF token", notes = "Returns current CSRF token")
@ApiResponses({
@ApiResponse(code = 200, message = "CSRF token response", response = String.class,
examples = @Example({@ExampleProperty(value = "015275eb-293d-4ce9-ba07-ff5e1c348092")}))
})
@GetMapping("/csrf-token")
default void csrfToken() {
throw new UnsupportedOperationException();
}
@ApiOperation(value = "Login endpoint", notes = "Login endpoint for authorization")
@ApiResponses({
@ApiResponse(code = 200, message = "Successful authentication")
})
@PostMapping("/login")
default void login(
@ApiParam(required = true, name = "login", value = "login body")
@RequestBody LoginRequest loginRequest) {
throw new UnsupportedOperationException();
}
}
但它不承认它。com.config.internal
它与我描述的位于同一个包中。
但是页面swagger ui
是空的,并显示No operations defined in spec!
问题是什么?
解决方案
如果您想为上面指定的请求映射提供 swagger 文档,您可以简单地使用.paths(Predicates.or(PathSelectors.ant("/api/**")))
路径匹配器来描述它。但是,如果您的路径包含更复杂的内容,api + text without backslash separator
那么您应该通过
https://docs.spring.io/spring/docs/3.1.x/javadoc-api/org/springframework/util/AntPathMatcher.html了解
推荐阅读
- python-3.x - 一旦另一个函数完成,ProgressBar 是否有可能达到 100%?
- git - 我无法运行任何 git 命令(“不是 git 存储库”错误)
- sql - PostgeSQL - 如何将具有相同 id 的多行的某些字段放在单行的预定义行中
- javascript - 在 Typescript 中扩展内置类型
- python - 熊猫单位置索引器超出范围
- c++ - 在 Qt “no matching function for call to 'connect'” 出现错误
- javascript - 添加 NodeJS (a-color-picker) -> Uncaught Exception: ReferenceError HTML Element is not defined
- spring - 获取所有@PreAuthorize 列表
在春天 - javascript - 在 javascript 和 node.js 中播放音频块而不是完整文件
- powerbi - 过去 12 个月和未来 4 个月的 DAX