Клиентская сеть для вызова Rest Ws Spring - PullRequest
0 голосов
/ 26 мая 2020

На моем сервере приложений Wildfly у меня есть война, которая содержит код веб-службы RESTful, выполненной с помощью Apache CXF и Spring Framework, эта война вызывает внешний ws. :-), я спрашиваю, какая технология лучше подходит для разработки моего нового клиентского веб-приложения для подражания Postman.
Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 01 июня 2020

Я предпочитаю Spring RestTemplate. Вы можете вставить RestTemplate в свои beans и легко отправить GET и POST:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.client.RestTemplate;
import org.springframework.http.ResponseEntity;

public class Test {

   @Autowired
   RestTemplate restTemplate;

   public ResponseEntity<Response> test(String url, Request request){
        return restTemplate.postForEntity(url, request, Response.class);
   }
}
0 голосов
/ 26 мая 2020

Я всегда использую HTTP-клиент Apache для вызова внешних веб-сервисов, независимо от того, является ли он SOAP или REST с использованием JSON или XML или любого другого формата данных.

Причина в том, что : На самом деле более 50% всех веб-сервисов не соответствуют стандартам. Когда вы используете фреймворки, работать со стандартами часто бывает нелегко. Но с помощью HTTP-клиента Apache легко реализовать обходные пути для любых возможных ситуаций, например:

  • Исправить неверно XML Пространства имен или контент путем поиска / замены перед его анализом.
  • Обработка кодов результатов HTTP нестандартным способом
  • Отправка и получение настраиваемых заголовков HTTP
  • Использование запросов, которые объединяют параметры GET (Url-) с телом POST
  • non -стандартное шифрование
  • нестандартная аутентификация (не все, что они называют OAuth2, на самом деле OAuth2)
  • Работа с сертификатами - даже самодельные сертификаты, не соответствующие ни одному root сертификату

Все это может показаться вам смешным, но это очень часто случается в проектах, в которых я принимал участие. HTTP-клиент Apache дает вам полный доступ к HTTP-протоколу и его легко понять.

Вы по-прежнему можете маршалировать и демаршалировать объекты в XML / JSON, используя свой фреймворк. Но лучше держать под контролем множество мелких деталей HTTP-коммуникации.

...