JAX-RS @PathParam以变量参数开头

时间:2013-10-03 13:51:54

标签: rest jax-rs

我正在使用JAX-RS 1.x开发一个简单的RESTFul服务,例如/ {app_id} / job / list /

所以我定义了一个如下所示的资源类:

@Path("/{app_id}/job")
@Produces(MediaType.APPLICATION_JSON)
public class JobService {

  @GET
  @Path("list")
  public Response list(@PathParam("app_id") final String appId) {
    // ....
  }
}

但似乎实现(在我的情况下是RestEasy)无法找到此资源。如果我将其设为/job/{app_id}/list,则有效,但不是/{app_id}/job/list

是不是因为我使用变量{app_id}作为开始路径元素? JAX-RS是否期望修复第一个路径元素?

根资源定义为/

1 个答案:

答案 0 :(得分:3)

  

是因为我使用变量{app_id}作为开始路径元素吗? JAX-RS是否期望修复第一个路径元素?

不,模板参数可以在路径中的任何位置,它可以在资源(= class)或subresource(= method)上。

如果没有其他JAX-RS资源,您的代码将起作用。检查系统中是否存在可能与您的URI路径匹配的其他@Path