Перейти к основному содержимому

13 записей с тегом "Feign"

Посмотреть все теги

· 3 мин. чтения

1. Обзор

Служба RESTful может выйти из строя по ряду причин. В этом руководстве мы рассмотрим, как получить исходное сообщение от клиента Feign , если интегрированная служба REST выдает ошибку.

2. Притвориться клиентом

Feign — это подключаемый и декларативный клиент веб-службы, упрощающий написание клиентов веб-службы. В дополнение к аннотациям Feign он также поддерживает JAX-RS и поддерживает кодировщики и декодеры для обеспечения большей настройки .

3. Получение сообщения от ErrorDecoder

· 4 мин. чтения

1. Обзор

В этом уроке мы покажем, как загрузить файл с помощью Open Feign. Feign — это мощный инструмент, с помощью которого разработчики микросервисов могут декларативно взаимодействовать через REST API с другими микросервисами.

2. Обязательное условие

Предположим, что веб-служба RESTful открыта для загрузки файла, и ниже приведены подробности:

POST http://localhost:8081/upload-file

· 4 мин. чтения

1. Обзор

В этом руководстве мы опишем, как мы можем разрешить клиенту Feign входить в наше приложение Spring Boot. Кроме того, мы рассмотрим различные типы конфигураций для него. Чтобы узнать больше о клиенте Feign, ознакомьтесь с нашим подробным руководством .

2. Притвориться клиентом

**Feign — это клиент декларативной веб-службы , который работает путем обработки аннотаций в шаблонный запрос. ** Используя клиент Feign, мы избавляемся от стандартного кода для выполнения запросов HTTP API. Нам просто нужно добавить аннотированный интерфейс. Таким образом, фактическая реализация будет создана во время выполнения.

3. Конфигурация ведения журнала

· 3 мин. чтения

1. Обзор

В этом руководстве мы собираемся описать различия между Spring Cloud Netflix Feign и Spring Cloud OpenFeign .

2. Притворяться

Feign упрощает написание клиентов веб-сервисов, предоставляя поддержку аннотаций , которая позволяет нам реализовывать наши клиенты только с интерфейсами.

Первоначально Feign был создан и выпущен Netflix в рамках их проекта Netflix OSS . Сегодня это проект с открытым исходным кодом.

· 8 мин. чтения

1. Обзор

В этой статье мы собираемся изучить интеграционное тестирование клиента Feign .

Мы создадим базовый клиент Open Feign, для которого напишем простой интеграционный тест с помощью WireMock .

После этого мы добавим конфигурацию ленты в наш клиент, а также создадим для нее интеграционный тест. И, наконец, мы настроим тестовый контейнер Eureka и протестируем эту настройку , чтобы убедиться, что вся наша конфигурация работает должным образом. ** ** ****

2. Притворный клиент

· 6 мин. чтения

1. Обзор

OpenFeign — это декларативный клиент REST, который мы можем использовать в приложениях Spring Boot . Предположим, что у нас есть REST API, защищенный с помощью OAuth2 , и мы хотим вызвать его с помощью OpenFeign. В этой ситуации нам нужно будет предоставить токен доступа с помощью OpenFeign.

В этом руководстве мы расскажем , как добавить поддержку OAuth2 в клиент OpenFeign .

2. Служба для проверки подлинности службы

Проверка подлинности между службами — популярная тема в области безопасности API. Мы можем использовать mTLS или JWT , чтобы обеспечить механизм аутентификации для REST API. Однако протокол OAuth2 по умолчанию является решением для защиты API . Допустим, мы хотим вызвать безопасную службу (роль сервера), используя другую службу (роль клиента). В этом сценарии мы используем тип предоставления учетных данных клиента . Обычно мы используем учетные данные клиента для аутентификации между двумя API или системами без конечного пользователя. На рисунке ниже показаны основные участники этого типа гранта:

· 7 мин. чтения

1. Обзор

В этом руководстве мы собираемся описать Spring Cloud OpenFeign — декларативный клиент REST для приложений Spring Boot.

Feign упрощает написание клиентов веб-сервисов благодаря поддержке подключаемых аннотаций, включая аннотации Feign и аннотации JAX-RS.

Кроме того, Spring Cloud добавляет поддержку аннотаций Spring MVC и использования тех же HttpMessageConverters , что и в Spring Web.

Одна из замечательных особенностей использования Feign заключается в том, что нам не нужно писать никакого кода для вызова службы, кроме определения интерфейса.

2. Зависимости

· 5 мин. чтения

1. Обзор

Иногда нам нужно установить заголовки запросов в наших HTTP-вызовах при использовании Feign . Feign позволяет нам создавать HTTP-клиенты с простым декларативным синтаксисом.

В этом кратком руководстве мы увидим, как настроить заголовки запроса с помощью аннотаций. Мы также увидим, как включать общие заголовки запросов с помощью перехватчиков.

2. Пример

В этом руководстве мы будем использовать пример приложения книжного магазина , которое предоставляет конечные точки REST API.

· 2 мин. чтения

1. Обзор

В этом руководстве мы покажем, как использовать аннотацию @RequestLine в клиенте Feign . @RequestLine — это шаблон для определения URI и параметра запроса для подключения к веб-службе RESTful.

2. Зависимость от Maven

Для начала давайте создадим веб-проект Spring Boot и включим зависимость spring-cloud-starter-openfeign или feign -core в наш файл pom.xml . Spring - cloud-starter-openfeign включает в себя зависимость feign -core :

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
<version>3.1.2</version>
</dependency>

· 6 мин. чтения

1. Обзор

Feign абстрагирует вызовы HTTP и делает их декларативными. Таким образом, Feign скрывает детали более низкого уровня, такие как управление HTTP-соединением, жестко заданные URL-адреса и другой шаблонный код. Существенным преимуществом использования клиентов Feign является простота вызовов HTTP и сокращение объема кода. Как правило, мы используем Feign для REST API -типа application/json media type. Однако клиенты Feign хорошо работают с другими типами мультимедиа, такими как text/xml , составные запросы и т. д.

В этом руководстве мы узнаем, как вызывать веб-службу на основе SOAP ( text/xml ) с помощью Feign.

2. Веб-служба SOAP

Предположим, что есть веб-служба SOAP с двумя операциями — getUser и createUser .