如何在 HttpPost 中使用参数
2022-08-31 16:20:07
我正在使用RESTfull Webservice与这种方法:
@POST
@Consumes({"application/json"})
@Path("create/")
public void create(String str1, String str2){
System.out.println("value 1 = " + str1);
System.out.println("value 2 = " + str2);
}
在我的Android应用程序中,我想调用此方法。如何使用 org.apache.http.client.methods.HttpPost 为参数提供正确的值;
我注意到我可以使用注释@HeaderParam,只需将标头添加到HttpPost对象即可。这是正确的方法吗?这样做是这样的:
httpPost.setHeader("Accept", "application/json");
httpPost.setHeader("str1", "a value");
httpPost.setHeader("str2", "another value");
在 httpPost 上使用 setEntity methode 将不起作用。它仅使用 json 字符串设置参数 str1。当使用它时,如:
JSONObject json = new JSONObject();
json.put("str1", "a value");
json.put("str2", "another value");
HttpEntity e = new StringEntity(json.toString());
httpPost.setEntity(e);
//server output: value 1 = {"str1":"a value","str2":"another value"}