Использование веб-службы REST с использованием URLConnection - PullRequest
0 голосов
/ 11 июня 2019

Я пытаюсь использовать веб-сервис RESTFUL, используя Java (HttpURLConnection и InputStream). Я могу напечатать ответ, используя BufferedReader, но он также возвращает заголовок ответа, и формат вызывает проблемы для преобразования его в Java.POJO.

Я попытался использовать URLConnection, а затем извлечь поток ввода и передать его в ObjectMapping (предоставленный Джексоном)

   final URL url = new URL("url");
   final HttpURLConnection uc = (HttpURLConnection) url.openConnection();
   uc.setRequestMethod("GET");
   final ObjectMapper objectMapper = new ObjectMapper();
   MyData myData = objectMapper.readValue(uc.getInputStream(), MyData.class);

Сообщение об ошибке: «Нет содержимого для сопоставления из-за конца-of-вход \ п "

1 Ответ

0 голосов
/ 11 июня 2019

В вашем коде вы не показываете, где вы на самом деле читали данные и где вы объявили и заполнили переменную output.Поскольку код сейчас, кажется, это неправильное чтение из вашей службы отдыха.Но вместо того, чтобы писать свой собственный код для чтения URL-адреса rest rest, я бы предложил использовать библиотеку 3d party, которая сделает это за вас.Вот несколько предложений: Apache Http Client , OK Http клиент и, наконец, мой любимый - MgntUtils Http Client (библиотека, написанная и поддерживаемая мной). Вот HttpClient javadoc , Вот ссылка на последние артефакты Maven для библиотеки MgntUtils и здесь Ссылка MgntUtils Github , которая содержит саму библиотеку с исходниками и javadoc.Выберите Http-клиент и прочитайте содержимое с помощью этого клиента, а затем вы сможете использовать содержимое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...