我有一个使用Spring Boot构建的API应用程序 . 我使用 swagger-springmvc v0.9.5插件和Swagger UI生成API方法的实时文档和交互前端 .
我最近向应用程序介绍了Spring安全性和OAuth . 这引入了Swagger UI中出现的更多部分:
-
authorization-endpoint 在
/oauth/authorize
路径下有一堆HTTP操作可用 -
check-token-endpoint 在
/oauth/check_token
路径下有一堆HTTP操作可用 -
whitelabel-approval-endpoint 在
/oauth/confirm_access
路径下有一堆HTTP操作可用 -
whitelabel-error-endpoint 在
/oauth/error
路径下有一堆HTTP操作可用
我可以理解它们的用途,但我不希望它们出现在我的Swagger UI前端 . 我该如何隐藏它们?
com.mangofactory.swagger.plugin.SwaggerSpringMvcPlugin的配置确实提供了includePatterns()方法,但无法排除模式 . 使用includePatterns(),每次有人向API添加方法时,都需要记住将其添加到那里,这并不理想 . 我没有所有API方法的通用前缀,我可以使用includePatterns() .
2 回答
您所需要的只是接受除
/oauth.*
之外的所有路径我遇到过同样的问题 . 我通过改变Docket创建参数来解决它 . 我在用
这导致所有spring-oauth endpoints 成为我的swagger规范的一部分 . 我更改了注册的api以使用我的basePackage而不是any() . 像这样的东西: