如何使用@beanparam和@Get方法编写休息服务

时间:2016-08-08 08:54:55

标签: java rest

请帮助我使用以下类和@beanparam和@Get方法

编写rest webservice
 @QueryParam("prop1") 
 public String prop1;

 @QueryParam("prop2") 
 public String prop2;

 @QueryParam("prop3") 
 public String prop3;

 @QueryParam("prop4") 
 public String prop4;

1 个答案:

答案 0 :(得分:0)

使用这样的POJO:

public class MyBean {

    @QueryParam("prop1") 
    private String prop1;

    @QueryParam("prop2") 
    private String prop2;

    @QueryParam("prop3") 
    private String prop3;

    @QueryParam("prop4") 
    private String prop4;

    // Getters and setters omitted
}

您的资源方法如下:

@GET
@Path("/foo")
public Response foo(@BeanParam MyBean myBean) {
    ...
}

更新:正如评论中所提到的,要在HTTP响应有效负载中将MyBean编组返回到XML,您将拥有以下内容:

@GET
@Path("/foo")
@Produces(MediaType.APPLICATION_XML)
public Response foo(@BeanParam MyBean myBean) {
    return Response.ok(myBean).build();
}

确保在dependecies中有XML提供程序。否则,您将收到如下错误:

javax.ws.rs.ProcessingException: could not find writer for content-type application/xml