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

16 записей с тегом "WebClient"

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

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

1. Обзор

Многие фреймворки и проекты внедряют реактивное программирование и асинхронную обработку запросов . Следовательно, Spring 5 представил реактивную реализацию WebClient как часть среды WebFlux .

В этом руководстве мы увидим, как реактивно использовать конечные точки REST API с помощью WebClient .

2. Конечные точки REST API

Для начала давайте определим пример REST API со следующими конечными точками GET :

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

1. Обзор

В этом руководстве мы собираемся изучить WebClient — реактивный веб-клиент, представленный в Spring 5.

Мы также рассмотрим WebTestClient, WebClient , предназначенный для использования в тестах.

2. Что такое веб- клиент ?

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

1. Обзор

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

Например, мы можем захотеть сделать это при извлечении данных из нескольких источников или когда мы просто хотим повысить производительность нашего приложения.

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

2. Резюме по реактивному программированию

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

1. Обзор

Spring 5 включает Spring WebFlux, который обеспечивает поддержку реактивного программирования для веб-приложений.

В этом руководстве мы создадим небольшое реактивное приложение REST, используя реактивные веб-компоненты RestController и WebClient.

Мы также рассмотрим, как защитить наши реактивные конечные точки с помощью Spring Security.

2. Весенний фреймворк WebFlux

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

1. Обзор

В этом руководстве мы собираемся сравнить две реализации веб-клиента Spring — RestTemplate и новую реактивную альтернативу Spring 5 WebClient .

2. Блокирующий и неблокирующий клиент

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

2.1. Блокирующий клиент RestTemplate

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

1. Обзор

Часто полезно использовать код состояния из ответа HTTP, чтобы определить, что приложение должно делать дальше с данным ответом.

В этом руководстве мы рассмотрим, как получить доступ к коду состояния и тексту ответа, возвращаемому из запроса REST, с помощью WebClient WebFlux.

WebClient был представлен в Spring 5 и может использоваться для асинхронного ввода-вывода при вызове служб RESTful.

2. Вариант использования

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

1. Обзор

В этом руководстве мы рассмотрим несколько возможных способов реализации тайм-аутов запросов для Spring REST API.

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

2. @Транзакционные тайм- ауты

Один из способов, которым мы можем реализовать тайм-аут запроса для вызовов базы данных, — это воспользоваться аннотацией Spring @Transactional . У него есть свойство тайм -аута , которое мы можем установить. Значение по умолчанию для этого свойства равно -1, что эквивалентно полному отсутствию времени ожидания. Для внешней настройки значения тайм-аута вместо этого необходимо использовать другое свойство — timeoutString .

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

1. Обзор

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

Добавленная поддержка реактивного программирования позволяет нам работать неблокирующим образом, используя небольшое количество потоков и противодавление .

В этой статье мы будем использовать WebClient — неблокирующий реактивный HTTP-клиент — чтобы проиллюстрировать, как загрузить файл. WebClient является частью библиотеки реактивного программирования под названием Project Reactor . Мы рассмотрим два разных подхода к загрузке файла с помощью BodyInserter .

2. Загрузка файла с помощью WebClient

Чтобы использовать WebClient , нам нужно добавить в наш проект зависимость spring-boot-starter-webflux :

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

1. Обзор

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

Spring WebFlux предлагает нам несколько инструментов для повторения неудачных операций.

В этом руководстве мы рассмотрим, как добавлять и настраивать повторы в наших приложениях Spring WebFlux.

2. Вариант использования

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

./a24f166de8204c49751f0d5ba0a27f43.png

Начало работы с Spring WebFlux

./3b72c1442c81b2c86a34df43bb5f6df5.png

Весенний веб-клиент

./6fa0ab2c3dc26978c581de4eb8ecd389.png

Spring Security в реактивных приложениях

./fd89552b8aa557fbc165544bba3d17db.png

Отладка реактивных приложений

./dd84627e865cf4d421c8f1f998fd817f.png

Расширенные руководства по Spring Reactive