我知道这已在许多帖子中得到解答,但我无法找到正确的解决方案。
我没有在类级别提供@Path,而是在方法级别(因为它扩展了我的 URI),因此我得到 ResourceConfig 实例不包含任何根资源类。部署异常
public class PatientResource {
@GET
@Path("/patient/{patientId}")
@Produces(MediaType.APPLICATION_JSON)
public Patient getPatientDetails(@PathParam("patientId") String patientId) {
...
}
Web xml 条目是
<servlet>
<servlet-name>jersey-serlvet</servlet-name>
<servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.clinic.resources</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>jersey-serlvet</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
因此,当我尝试 serv-name:8080/WAR-Id/rest/patient/1 时,我得到了上述异常。请注意,如果我在类级别添加@Path,我可以摆脱异常,但它不必要地扩展了 URL,而且在 web xml 中提供 /* 对于项目也不可行。底线 - 是否有必要在班级级别提供@Path
谢谢