【发布时间】:2018-04-06 20:40:27
【问题描述】:
我正在尝试根据 Spring 和 Jersey 中的运行时配置隐藏 REST 端点。最直接的方法是从控制器本身抛出NotFoundException,但也许有更多的犹太洁食。控制器在扩展org.glassfish.jersey.server.ResourceConfig的配置类的构造函数中注册。
我想过在控制器上使用@Profile 注释,但我仍然可以访问端点。当我到达那个端点时,我收到以下错误:
o.g.j.s.s.SpringComponentProvider - None or multiple beans found in Spring context
但随后 Jersey 设法访问该控制器,我通过将调试器附加到 Spring 进程来确认这一点。所以 Jersey 不支持 @Profile 设置。
另外,我还将 Swagger 插入 Jersey,当访问定义端点 (.../swagger.json) 时,我可以看到 @Profile-disabled 控制器提供的端点。
我可以在这里做的更好的事情就是抛出NotFoundException 是最好的选择吗?
【问题讨论】:
标签: spring rest jersey-2.0 swagger-2.0