【发布时间】:2013-09-25 11:21:22
【问题描述】:
我有一个 REST 资源的基本集合,这些资源经过注释以对应于某些路径。 伪代码:
@Path("/collection")
class Stuff {
@Path("/{id}")
@GET
public String get(@PathParm("id") int id) {
return String.format("Item #%d". id);
}
}
现在,我需要在不更改类 Stuff 的情况下向此集合添加子资源,但添加如下代码不起作用:
@Path("/collection/{id}")
class StuffPlugin {
@Path("/extra")
@GET
public String extra(@PathParm("id") int id) {
return String.format("Extra info about item #%s", id);
}
}
这曾经在 RESTeasy 2.3 中工作,但现在,当 RESTeasy 正在寻找可能的路径匹配时,升级到 3.0.4 版本似乎会影响 Stuff 类,从而破坏我的应用程序的整个结构。
这将如何在 RESTeasy 3 中实现?
谢谢
PS
我正在像下面这样以编程方式添加提供程序类,并且没有冲突的基本路径的所有内容都可以正常工作。
public class EntryPoint extends Application {
public EntryPoint() {}
@SuppressWarnings("serial")
@Override
public Set<Class<?>> getClasses() {
return new HashSet<Class<?>>() {
{
add(Stuff.class);
add(StuffPlugin.class);
}
}
}
}
【问题讨论】:
标签: java tomcat tomcat7 jax-rs resteasy