英文:
Issue with Swagger displaying Controllers in other microservice package
问题
我目前正在开发一个应用程序,它使用Spring Boot的微服务。尽管一切都按预期运行,但我在控制器方面遇到了一个小问题。
具体来说,由于其中一个微服务使用了另一个微服务的包,我不得不在第二个微服务中使用以下注释(包名已被混淆):
@ComponentScan(basePackages = {"cm.test.p1","cm.test.p2"})
现在,p2有自己的控制器包来暴露其RESTful API。我面临的问题是,Swagger也在p1中显示了p2的控制器。
我尝试使用以下注释来排除控制器包,但问题仍然存在:
@ComponentScan(basePackages = {"cm.test.p1","cm.test.p2"},
excludeFilters = @ComponentScan.Filter(type = FilterType.REGEX, pattern="cm.test.p2.*Controller"))
以及这个:
@ComponentScan(basePackages = {"cm.test.p1","cm.test.p2"},
excludeFilters=@ComponentScan.Filter(type = FilterType.ASPECTJ, pattern="cm.test.p2.*Controller+"))
只是提一下,我正在使用springdoc作为Maven库。
如何解决这个问题的任何指导将不胜感激。谢谢!
英文:
I am currently working on an application that utilizes microservices with Spring Boot. Although everything is functioning as expected, I am facing a minor issue with the Controllers.
Specifically, since one of the microservices is using packages from another, I had to utilize the following annotations in the second microservice (package names have been obfuscated):
@ComponentScan(basePackages = {"cm.test.p1","cm.test.p2"})
Now, p2 has its own Controllers package to expose its RESTful APIs. The problem I am facing is that Swagger for p1 is also displaying the Controllers in p2.
I have attempted to exclude the Controller package using the following annotation, but the issue still persists:
@ComponentScan(basePackages = {"cm.test.p1","cm.test.p2"}
, excludeFilters = @ComponentScan.Filter(type = FilterType.REGEX, pattern="cm.test.p2.*Controller"))
and this
@ComponentScan(basePackages = {"cm.test.p1","cm.test.p2"},
excludeFilters=@ComponentScan.Filter(type = FilterType.ASPECTJ, pattern="cm.test.p2.*Controller+"))
Just to mention, I am using springdoc as the maven library.
Any guidance on how to address this issue would be greatly appreciated. Thank you!
答案1
得分: 0
可以使用应用程序属性来限制生成的 OpenAPI 描述,通过包或路径配置 springdoc
。
springdoc.packagesToScan=cm.test.p1
更多信息这里
英文:
It is possible to restrict the generated OpenAPI description using package or path configuration using application properties for springdoc
springdoc.packagesToScan=cm.test.p1
More information here
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论