Я разработал веб-сервис на Java. Ниже приводится его метод.Как вызвать методы POST RESTfull в Android?
@Path("/setup")
public class SetupJSONService {
@POST
@Path("/insertSetup")
@Consumes(MediaType.APPLICATION_JSON)
public String insertSetup(SetupBean bean)
{
System.out.println("Printed");
SetupInterface setupInterface = new SetupImpl();
String insertSetup = setupInterface.insertSetup(bean);
return insertSetup;
}
}
Ниже, как я называю этот метод с использованием Java Jersey
в моем компьютере.
Client client = ClientBuilder.newClient();
WebTarget target = client.target("http://localhost:8080/TestApp/rest/setup").path("/insertSetup");
SetupBean setupBean = new SetupBean();
setupBean.setIdPatient(1);
setupBean.setCircleType(1);
target.request(MediaType.APPLICATION_JSON_TYPE).post(Entity.entity(setupBean, MediaType.APPLICATION_JSON_TYPE));
Однако этот метод также следует вызывать в Android, но я не уверен, как это сделать. Я знаю, как делать GET
звонки в андроид, как показано ниже.
public static String httpGet(String urlStr) throws IOException {
URL url = new URL(urlStr);
HttpURLConnection conn =
(HttpURLConnection) url.openConnection();
if (conn.getResponseCode() != 200) {
throw new IOException(conn.getResponseMessage());
}
// Buffer the result into a string
BufferedReader rd = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
StringBuilder sb = new StringBuilder();
String line;
while ((line = rd.readLine()) != null) {
sb.append(line);
}
rd.close();
conn.disconnect();
return sb.toString();
}
Но так как мой метод POST
и так как принимать Java Bean
и он возвращает String
, как я могу справиться с этим в Android? Не интересует использование Джерси в андроиде, так как у него плохие комментарии в среде Android.
Спасибо за сообщение , Но почему это невозможно сделать с нормальными встроенными вещами? Этот путь кажется завершающим. –
Добро пожаловать =), вы можете сделать это обычным способом! Я просто хочу указать более продуктивный и простой в использовании способ. –
Спасибо. Любое руководство для нормального пути? Я думаю, что в Джерси также они внутренне конвертируют объект в JSON перед отправкой на сервер? –