我正在使用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是否期望修复第一个路径元素?
根资源定义为/
。
答案 0 :(得分:3)
是因为我使用变量{app_id}作为开始路径元素吗? JAX-RS是否期望修复第一个路径元素?
不,模板参数可以在路径中的任何位置,它可以在资源(= class)或subresource(= method)上。
如果没有其他JAX-RS资源,您的代码将起作用。检查系统中是否存在可能与您的URI路径匹配的其他@Path
。