Как использовать параметры с HttpPost

Я использую веб-сервис RESTfull с этим метод:

@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");

Использование метода setEntity в httpPost не сработает. Он устанавливает только параметр str1 со строкой json. При использовании типа:

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"} 
54
задан Klaasvaak 14 November 2011 в 00:27
поделиться