JAX-RS:是否可以使用外部可配置的@PATH?

时间:2014-10-16 12:04:40

标签: java jboss jax-rs wildfly

是否可以从给定类的配置(web.xml等)加载@PATH批注的值?

@Path(<value loaded from config>)
public class myRestService {
...

2 个答案:

答案 0 :(得分:1)

独立于JAX-RS:Java中的注释是编译时常量,因此无法在运行时更改它们。

我不知道您的用例,但更改注释值的可能方法是:

  • 在编译之前替换变量,例如通过maven插件。
  • 动态添加@Path注释,如described here
  • 使用映射到/*的一个通用ResourceClass来决定应该返回哪个subresource

如果其中一种方法有意义,我不知道你不知道为什么要改变它们。由于URI命名资源,我没有看到任何改变它的理由。另见:Cool URIs don't change

更新: JAX_RS_SPEC-60请求“注册JAX-RS资源的动态方式(不基于注释)”。

答案 1 :(得分:0)

根据JAX-RS规范(here),我认为没有标准的方法可以做到这一点。