我正在编写一个简单的cxf配置的restful服务。但我一直得到这个错误“没有为路径/找到子资源定位器”的特定方法。虽然这个方法正确映射了url并且能够获取参数,但是,总是抛出此错误并返回404.
答案 0 :(得分:12)
你可能忘记在休息电话中指定请求类型,检查你是否在呼叫中加入了正确的注释,如@Get,@ Post ..。
答案 1 :(得分:1)
您需要分享完整的代码才能获得更好的答案。
验证所有这些元素是否正确声明如下:
package com.test.rs.sample;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.ext.Provider;
import com.test.rs.dto.Student;
@Path("/student")
@Provider
public interface StudentService {
@GET
@Path("/get/{id}")
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
public Student getStudent(@PathParam("id")Long id);
@GET
@Path("/getAll/")
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
public Student getAllStudents();
@POST
@Path("/add/")
@Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
public Response addStudent(Student student);
@PUT
@Path("/update/")
@Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
public Response updateStudent(Student student);
@DELETE
@Path("delete/{id}")
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
public Student deleteStudent(@PathParam("id")Long id);
}