假设我有一些jax-rs资源类:
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public class ResourceA {
@GET
public Something get(@Context UriInfo uriInfo) {
if (...) {
//how to get to ResourceB ?
}
}
}
我想有条件地将调用重定向到其他一些jax-rs资源:
public class ResourceB {
@GET
@Path("{identifier}")
public Other get(@PathParam("identifier")String someArg) {
}
}
我该怎么做呢?请注意,我不希望客户端看到此消息(因此没有http重定向),并且通常我希望重定向的资源方法不共享相同的签名(它们可能具有路径参数,如我给出的示例)。
我在apache tomcat下运行球衣2.6(它是一个春季应用,如果有帮助的话)
编辑-我正在寻找与servlet forward等效的jax-rs 。我不想做额外的http跳,也不必担心自己实例化资源类
您可以使用ResourceContext如下获取它:
@Context
ResourceContext resourceContext;
这会将ResourceContext注入到您的Resource中。然后,您可以使用以下资源:
ResourceB b = resourceContext.getResource(ResourceB.class);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句