我正在为 Web 服务使用 JAX-RS 的球衣实现。我对这个 JAX-RS 很陌生。
我正在尝试在服务中添加一个方法,该方法接受一个 Employee 对象并根据 Employee 对象值返回员工 ID(为此有一个数据库命中)。
遵循Restful原则,我将方法设为@GET,并提供如下所示的url路径:
@Path("/EmployeeDetails")
public class EmployeeService {
@GET
@Path("/emp/{param}")
public Response getEmpDetails(@PathParam("param") Employee empDetails) {
//Get the employee details, get the db values and return the Employee Id.
return Response.status(200).entity("returnEmployeeId").build();
}
}
出于测试目的,我写了这个客户端:
public class ServiceClient {
public static void main(String[] args) {
ClientConfig config = new DefaultClientConfig();
Client client = Client.create(config);
WebResource service = client.resource(getBaseURI());
Employee emp = new Employee();
emp.name = "Junk Name";
emp.age = "20";
System.out.println(service.path("rest").path("emp/" + emp).accept(MediaType.TEXT_PLAIN).get(String.class));
}
private static URI getBaseURI() {
return UriBuilder.fromUri("http://localhost:8045/AppName").build();
}
}
当我运行它时,我收到错误:Method, public javax.ws.rs.core.Response com.rest.EmployeeService.getEmpDetails(com.model.Employee), annotated with GET of resource, class com.rest.EmployeeService, is not recognized as valid resource method.
编辑:
模型:
package com.model;
public class Employee {
public String name;
public String age;
}
请让我知道问题出在哪里,我是这方面的初学者,正在努力理解这些概念:(