Я использую 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");
Использование метода 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"}