我正在通过以下方法使用 RESTful Web 服务:
@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 方法将不起作用。它仅使用 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"}