我试图将多个参数传递给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));
Run Code Online (Sandbox Code Playgroud)
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;
}
}
Run Code Online (Sandbox Code Playgroud)
现在,我想通过Jersey POST方法将参数传递给以下方法。
public String insertHistory(List<SocialHistoryBean> list, String comment){
//my stuffs
}
Run Code Online (Sandbox Code Playgroud)
有什么想法可以做上述工作吗?
谢谢。
您可以尝试使用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));
Run Code Online (Sandbox Code Playgroud)
在服务器端使用类似
@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);
}
Run Code Online (Sandbox Code Playgroud)
阅读更多这里的文档..
| 归档时间: |
|
| 查看次数: |
20303 次 |
| 最近记录: |