我的公共API由我的主Web应用程序提供,但在不同的域上。为了使路径不与我的正常webapp路径冲突,公共API端点有一个隐藏的前缀。也就是说,当有人访问https://api.example.com/foo
时,他们会在内部转发到/publicApi/foo
;对https://www.example.com/foo
的请求被正常处理。
当然,这意味着我的API的JAX-RS类都是这样注解的:
@Path("/publicApi")
public class PublicApiFooResource {
@Path("/foo")
public Foo getFoo() {...}
}
使用swagger-jaxrs2
(v2.2.7),这会生成一个包含/publicApi
的openapi文档:
paths: {
/publicApi/foo: {
get: { ... } etc
我怎样才能让swagger-jaxrs 2忽略路径中隐藏的前导部分?从世界的Angular 来看,路径是/foo
;内部转发不会泄露到文档中。
1条答案
按热度按时间kh212irz1#
这似乎是一个平庸的解决方案,似乎是一个常见的问题,但它确实有效。在swagger配置中启用此
filterClass
: