gpt4 book ai didi

java - 如何将多个参数传递给 Jersey POST 方法

转载 作者:行者123 更新时间:2023-12-03 19:04:30 26 4
gpt4 key购买 nike

我正在尝试将多个参数传递给 Jersey POST 方法。目前我正在按照以下步骤将单个参数传递给 Jersey POST 方法。

Client client = ClientBuilder.newClient();
WebTarget target= client.target("http://localhost:8080/Rest/rest/subuser").path("/insertSubUser");

SubUserBean subUserBean=new SubUserBean();
subUserBean.setIdUser(1);
subUserBean.setIdSubUserType(1);
subUserBean.setIdSubUser(15);
subUserBean.setFirstName("Haritha");
subUserBean.setLastName("Wijerathna");
subUserBean.setNumberOfDaysToEditRecord(14);
subUserBean.setUserName("haritha");
subUserBean.setPassword("hariwi88");
subUserBean.setDateCreated(Common.getSQLCurrentTimeStamp());
subUserBean.setLastUpdated(Common.getSQLCurrentTimeStamp());

target.request(MediaType.APPLICATION_JSON_TYPE).post(Entity.entity(subUserBean, MediaType.APPLICATION_JSON_TYPE));

SubUserJSONService.java

@Path("/subuser")
public class SubUserJSONService {

@POST
@Path("/insertSubUser")
@Consumes(MediaType.APPLICATION_JSON)
public String updateSubUser(SubUserBean bean){

SubUserInterface table = new SubUserTable();
String result= table.insertSubUser(bean);
return result;
}
}

现在,我想通过 Jersey POST 方法将参数传递给以下方法。

public String insertHistory(List<SocialHistoryBean> list, String comment){
//my stuffs
}

对完成上述工作有什么想法吗?

谢谢。

最佳答案

您可以尝试使用 MultivaluedMap . 添加表单数据并将其发送到服务器。下面是一个示例,代码不只是针对演示/逻辑流进行测试。

WebTarget webTarget = client.target("http://www.example.com/some/resource");
MultivaluedMap<List, String> formData = new MultivaluedHashMap<List, String>();
formData.add(List, "list1");
formData.add("key2", "value2");
Response response = webTarget.request().post(Entity.form(formData));

在服务器端使用它,例如

@Path("/uripath")
@POST -- if this is post or @GET
@Consumes("application/x-www-form-urlencoded;charset=UTF-8") or json..
@Produces("application/json")
public void methodNameHere(@FormParam("list") List<String> list1, @FormParam("key2") String val2) {

System.out.println("Here are I am");
System.out.println("list1" + list1.size);
System.out.println("val2" + val2);
}

阅读更多 here在文档中..

关于java - 如何将多个参数传递给 Jersey POST 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39201759/

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