如何在restFul Get方法中传递Employee对象

时间:2013-11-21 07:01:01

标签: web-services rest jersey jersey-2.0 jersey-1.0

我在RestFul Web服务中传递一个Employee Object Form客户端Jaxrs2 / jersey

 @GET
    @Path("{empObj}")
    @Produces(MediaType.APPLICATION_XML)
    public Response readPK(@PathParam("empObj")Employee empObj) {
        //do Some Work
        System.out.println(empObj.getName());
        return Response.status(Response.Status.OK).entity(result).build();
    }

如何使用GET方法实现此对象? 提前谢谢

1 个答案:

答案 0 :(得分:1)

通过在方法参数/类字段上使用@PathParam,您基本上告诉JAX-RS运行时将路径段(通常是字符串)注入到您的(String)参数中。如果您直接通过URI(查询参数,路径参数)发送对象(Employee)表示,则还应提供ParamConverterProvider。请注意,在某些情况下这是不可能的,并且它不是推荐的做法。但是,如果您要在邮件正文中将对象从客户端发送到服务器,只需删除@PathParamMessageBodyReader即可将输入流转换为您的类型:

@GET
@Path("{empObj}")
@Produces(MediaType.APPLICATION_XML)
public Response readPK(Employee empObj) {
    //do Some Work
    System.out.println(empObj.getName());
    return Response.status(Response.Status.OK).entity(result).build();
}