我有一些泽西岛服务,如下所示
@GET
@Path("/GetUsers")
@Produces(MediaType.APPLICATION_JSON + ";charset=utf-8")
public List<Campania> findUsers(@QueryParam("userName") String User) {
List<User> users= userBL.getUsers();
return users;
}
我的问题是此方法应该接收10个参数,所以我宁愿只有一个参数:GetUsersFilter包含10个参数。
我知道的唯一方法是将@GET更改为@POST,但是,此服务应该是GET。还有另一种方法吗?
您可以使用@BeanParam批注将多个查询参数(和其他内容)捆绑到单个java对象中:
// parameter object that bundles all parameters
public class UserQueryParams {
@QueryParam("userName")
private String user;
@QueryParam("param2")
private String param2;
...
// getters etc.
}
然后在您的JAX-RS资源方法中,如下使用它:
@GET
@Path("/GetUsers")
@Produces(MediaType.APPLICATION_JSON + ";charset=utf-8")
public List<User> findUsers(@BeanParam UserQueryParams userQuery) {
List<User> users = userBL.getUsers(userQuery);
return users;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句