Я новичок в веб-сервисах и написание кода для вызова веб-сервиса Jersey на Android. Но я получаю null как значения параметра PathParam. Пожалуйста, помогите мне в том, что случилось с моим кодом.Значение PathParam null в веб-службе Джерси
Вот код для обслуживания вызова веб в Android:
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
httpPost.setHeader("content-type", "application/json");
JSONObject data = new JSONObject();
try {
data.put("email_id", strEmailId);
data.put("password", strPassword);
Log.d("1", data.toString());
HttpEntity entity;
StringEntity s = new StringEntity(data.toString());
entity = s;
httpPost.setEntity(entity);
HttpResponse response = httpClient.execute(httpPost);
}
Это код услуги веб:
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@Path("/dbconnect")
public String connectToDbTest(@PathParam("email_id") String email_id,@PathParam("password") String password) {
System.out.println(email_id+" "+password);
}
Но я не передаю значение по пути URL-адреса, я передаю значение в запросе тела. Поэтому я не могу сделать это как @Path ("/ dbconnect/{email_id}/{password}") – aaaaa
ответить mitratul, это правильно. Для получения тела и сохранения вашего фактического пути измените подпись своего метода, чтобы получить содержимое JSON: 'public String connectToDbTest (String content) {...}' (отбросить @ PathParam, потому что они используются неправильно). Из строки содержимого вы можете вручную извлечь переменные или использовать фреймворк вроде JAXB, который автоматически преобразует строку JSON в объект модели. – Florin