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

165 записей с тегом "REST"

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

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

1. Введение

JAX-RS (Java API для RESTful Web Services) — это набор Java API, обеспечивающий поддержку в создании REST API . И инфраструктура хорошо использует аннотации для упрощения разработки и развертывания этих API.

В этом руководстве мы будем использовать RESTEasy, переносимую реализацию JAX-RS, предоставленную JBoss, для создания простых веб-сервисов RESTful.

2. Настройка проекта

Мы собираемся рассмотреть два возможных сценария:

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

1. Обзор

В этом руководстве мы кратко рассмотрим два важных метода HTTP — PUT и POST — которые часто используются в архитектуре REST. Не секрет, что разработчики иногда пытаются выбрать между этими двумя методами при разработке веб-службы RESTful. Поэтому мы решим эту проблему с помощью простой реализации приложения RESTful в Spring Boot.

2. Дилемма PUT и POST

В типичной архитектуре REST клиент отправляет серверу запросы в виде методов HTTP для создания, извлечения, изменения или уничтожения ресурсов. Хотя и PUT, и POST могут использоваться для создания ресурсов, между ними есть существенные различия с точки зрения их предполагаемого применения.

В соответствии со стандартом RFC 2616 метод POST следует использовать для запроса на сервер принять вложенный объект в качестве подчиненного существующего ресурса, идентифицированного Request-URI. Это означает , что вызов метода POST создаст дочерний ресурс в наборе ресурсов.

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

1. Обзор

В этой статье мы собираемся проиллюстрировать Activeweb — веб-фреймворк полного стека от JavaLite — предоставляющий все необходимое для разработки динамических веб-приложений или веб-сервисов с поддержкой REST.

2. Основные понятия и принципы

Activeweb использует «соглашение вместо конфигурации» — это означает, что его можно настраивать, но он имеет разумные значения по умолчанию и не требует дополнительной настройки. Нам просто нужно следовать нескольким предопределенным соглашениям, таким как имена классов, методов и полей в определенном предопределенном формате.

Это также упрощает разработку за счет перекомпиляции и перезагрузки исходного кода в работающий контейнер (Jetty по умолчанию).

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

1. Обзор

В этом учебном пособии Apache CXF представлен как платформа, совместимая со стандартом JAX-RS, который определяет поддержку экосистемы Java для архитектурного шаблона REpresentational State Transfer (REST).

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

Это третья статья из серии об Apache CXF; первый фокусируется на использовании CXF как реализации, полностью совместимой с JAX-WS. Вторая статья содержит руководство по использованию CXF с Spring.

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

· 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

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

1. Введение

В этом руководстве мы рассмотрим несколько библиотек для чтения тела ответа HTTP в виде строки в Java. Начиная с первых версий Java предоставляет API HttpURLConnection . Он включает в себя только основные функции и известен тем, что не очень удобен для пользователя.

В JDK 11 компания Java представила новый и улучшенный API HttpClient для обработки связи по протоколу HTTP. Мы рассмотрим эти библиотеки и проверим альтернативы, такие как Apache HttpClient и Spring Rest Template .

2. HTTP-клиент

Как мы упоминали ранее, HttpClient был добавлен в Java 11. Он позволяет нам получать доступ к ресурсам по сети. Но, в отличие от HttpURLConnection , HttpClient поддерживает HTTP/1.1 и HTTP/2 . Более того, он предоставляет как синхронные, так и асинхронные типы запросов .

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

1. Обзор

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

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

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

2. Производитель ОТДЫХА

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

1. Обзор

В этом кратком руководстве мы обсудим разницу между аннотациями @Controller и @RestController в Spring MVC.

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

В Spring 4.0 появилась аннотация @RestController , чтобы упростить создание веб-сервисов RESTful. Это удобная аннотация, объединяющая @Controller и @ResponseBody , что устраняет необходимость аннотировать каждый метод обработки запросов класса контроллера аннотацией @ResponseBody .

2. Spring MVC @контроллер

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

1. Введение

В этом кратком руководстве мы предоставляем краткий обзор аннотаций Spring @RequestBody и @ResponseBody .

2. @RequestBody

Проще говоря, аннотация @RequestBody сопоставляет тело HttpRequest с объектом передачи или домена, обеспечивая автоматическую десериализацию входящего тела HttpRequest в объект Java.