我正在开发一个REST Web服务,我在URL中使用ID来指定患者,如下所示:
WS/services/patient/1
其中“1”是患者的身份。所以,在代码中,我这样指定:
@GET
@Path("{id}")
public void getPatient(@PathParam("id") int cId) {
...
}
我在一个例子中看到了它,但我的失败了。我收到了这个错误:
com.sun.jersey.api.container.ContainerException:方法,public void PresentationLayer.PatientResource.getPatient(int),使用资源的GET注释,类PresentationLayer.PatientResource,不被识别为带注释的有效Java方法与@HttpMethod。
我不知道为什么这样做。在示例中,我看到它有效。任何提示?
编辑:如果我不写@PathParams(“id”),它可以工作......但是,我怎样才能从网址获取id?
答案 0 :(得分:8)
com.sun.jersey.api.container.ContainerException:方法, public void PresentationLayer.PatientResource.getPatient(int),使用资源的GET注释,类PresentationLayer .PatientResource,不被认为是使用@HttpMethod注释的有效Java方法。
您正尝试使用不返回响应的方法为服务GET
请求服务(返回类型void
)。