gpt4 book ai didi

java - 以对象作为参数的 Jersey 服务

转载 作者:行者123 更新时间:2023-12-02 05:36:12 25 4
gpt4 key购买 nike

我有一些 Jersey 服务如下

      @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;
}

关于java - 以对象作为参数的 Jersey 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24943629/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com