Я использую веб-сервис 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"}