2

我正在使用 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 是否期望第一个路径元素被修复?

根资源被定义为 just /

4

1 回答 1

3

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

不,模板参数可以在路径中的任何位置,并且可以在资源(= 类)或子资源(= 方法)上。

如果没有其他 JAX-RS 资源,您的代码就可以工作。检查您的系统是否@Path有可能与您的 URI 路径匹配的其他 s。

于 2013-10-03T15:07:42.813 回答