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

61 запись с тегом "Spring Web"

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

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

1. Обзор

Наши службы часто взаимодействуют с другими службами REST для получения информации.

Начиная с Spring 5, мы можем использовать WebClient для выполнения этих запросов реактивным, неблокирующим способом. WebClient является частью нового WebFlux Framework, построенного поверх Project Reactor . Он имеет свободный, реактивный API и использует протокол HTTP в своей базовой реализации.

Когда мы делаем веб-запрос, данные часто возвращаются в формате JSON. WebClient может преобразовать это для нас.

В этой статье мы узнаем, как преобразовать массив JSON в массив объектов Java , массив POJO и список POJO с помощью WebClient . [](/lessons/b/-java-pojo-class) ``

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

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

1. Обзор

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

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

Authorization: Digest 
username="user1",
realm="Custom Realm Name",
nonce="MTM3NTYwOTA5NjU3OTo5YmIyMjgwNTFlMjdhMTA1MWM3OTMyMWYyNDY2MGFlZA==",
uri="/spring-security-rest-digest-auth/api/foos/1",
....

С помощью этих данных сервер может правильно аутентифицировать запрос и вернуть ответ 200 OK.

2. Настройте RestTemplate

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

1. Обзор

В этом кратком руководстве мы рассмотрим, как получить доступ к заголовкам HTTP в Spring Rest Controller .

Во-первых, мы будем использовать аннотацию @RequestHeader для чтения заголовков как по отдельности, так и все вместе.

После этого мы более подробно рассмотрим атрибуты @RequestHeader .

2. Доступ к заголовкам HTTP

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

1. Обзор

В Spring 5 добавлен совершенно новый фреймворк — Spring WebFlux , поддерживающий реактивное программирование в наших веб-приложениях. Для выполнения HTTP-запросов мы можем использовать интерфейс WebClient , предоставляющий функциональный API на основе Reactor Project .

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

2. Веб -клиент и HTTP-клиенты

Прежде чем мы двинемся дальше, давайте сделаем краткий обзор. Spring WebFlux включает в себя собственный клиент, класс WebClient , для выполнения HTTP-запросов реактивным способом. Для правильной работы WebClient также требуется клиентская библиотека HTTP. Spring предоставляет встроенную поддержку для некоторых из них, но Reactor Netty используется по умолчанию.

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

1. Обзор

В этом кратком руководстве мы подробно рассмотрим исключение Spring RestTemplate IllegalArgumentException : недостаточно переменных для расширения.

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

2. Причина

Короче говоря, исключение обычно возникает , когда мы пытаемся отправить данные JSON в запросе GET .

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

1. Обзор

При создании документации Swagger нам часто приходится скрывать конечные точки от конечных пользователей. Чаще всего это делается, когда конечная точка еще не готова. Кроме того, у нас могут быть некоторые частные конечные точки, которые мы не хотим раскрывать.

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

2. Скрытие конечной точки с помощью @ApiIgnore

Аннотация @ApiIgnore позволяет скрыть конечную точку . Давайте добавим эту аннотацию для конечной точки в наш контроллер:

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

1. Обзор

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

Дополнительную информацию об этом фреймворке мы можем найти в предыдущих постах .

2. Заголовки для нереактивных компонентов

Если мы хотим установить заголовки для отдельных ответов, мы можем использовать объекты HttpServletResponse или ResponseEntity .

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

1. Обзор

В этом кратком руководстве основное внимание уделяется тому, как загрузить составной файл с помощью Spring RestTemplate.

Мы увидим как один файл, так и несколько файлов — загрузите с помощью RestTemplate.

2. Что такое составной HTTP-запрос?

Проще говоря, базовое тело запроса HTTP POST содержит данные формы в парах имя/значение.

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

1. Введение

В этом кратком руководстве мы рассмотрим, как настроить bean-компонент Spring RestTemplate .

Начнем с обсуждения трех основных типов конфигурации:

  • используя по умолчанию RestTemplateBuilder
  • с помощью RestTemplateCustomizer
  • создание нашего собственного RestTemplateBuilder

Чтобы легко это проверить, следуйте руководству по настройке простого приложения Spring Boot .

2. Конфигурация с использованием RestTemplateBuilder по умолчанию

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

1. Обзор

В этом кратком руководстве мы увидим, как протестировать составной запрос POST в Spring с помощью MockMvc .

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

Прежде чем мы начнем, давайте добавим последние тестовые зависимости JUnit и Spring в наш pom.xml :

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.1.16.RELEASE</version>
<scope>test</scope>
</dependency>