Java Platform, Enterprise Edition (Java EE) 8
Учебник по Java EE

Назад Вперёд Содержание

Что такое RESTful веб-сервисы?

RESTful веб-сервисы — это слабосвязные, легковесные веб-сервисы, которые особенно хорошо подходят для создания API для клиентов, разбросанных по Интернету. REST ​​- это архитектурный стиль клиент-серверного приложения, основанный на передаче представлений ресурсов посредством запросов и ответов. В архитектурном стиле REST данные и функциональные возможности считаются ресурсами и доступны с использованием универсальных идентификаторов ресурсов (URI), обычно ссылок в Интернете. Ресурсы представлены документами и обрабатываются с помощью набора простых, чётко определённых операций.

Например, ресурсом REST могут быть текущие погодные условия для города. Представлением этого ресурса может быть документ XML, файл изображения или страница HTML. Клиент может получить конкретное представление, изменить ресурс путём обновления своих данных или полностью удалить ресурс.

Архитектурный стиль REST разработан для использования протокола связи без сохранения состояния, обычно HTTP. В стиле архитектуры REST клиенты и серверы обмениваются представлениями ресурсов, используя стандартизированный интерфейс и протокол.

Следующие принципы позволяют RESTful приложениям оставаться простыми, легковесными и быстрыми:

  • Идентификация ресурса через URI. RESTful веб-сервис предоставляет набор ресурсов, которые идентифицируют цели взаимодействия со своими клиентами. Ресурсы идентифицируются с помощью URI, которые обеспечивают глобальное адресное пространство для обнаружения ресурсов и служб. Смотрите Аннотация @Path и шаблоны пути URI для получения дополнительной информации.

  • Унифицированный интерфейс: управление ресурсами осуществляется с помощью фиксированного набора из четырёх операций создания, чтения, обновления, удаления: PUT, GET, POST и DELETE. PUT создаёт новый ресурс, который затем может быть удалён с помощью DELETE. GET извлекает текущее состояние ресурса в некотором представлении. POST переносит новое состояние на ресурс. Смотрите Ответ на HTTP-методы и запросы для получения дополнительной информации.

  • Самодокументируемые сообщения: ресурсы отделены от их представления, чтобы к их содержимому можно было обращаться в различных форматах, таких как HTML, XML, обычный текст, PDF, JPEG, JSON и другие. Метаданные о ресурсе доступны и используются, например, для управления кэшированием, обнаружения ошибок передачи, согласования соответствующего формата представления и выполнения аутентификации или контроля доступа. См. Ответ на HTTP-методы и запросы и Использование провайдеров сущностей для сопоставления HTTP-ответа и запроса тел сущностей для получения дополнительной информации.

  • Взаимодействие с состоянием через ссылки: ни одно из взаимодействий с ресурсом не имеет состояния. То есть сообщения запроса являются автономными и не зависят друг от друга. Взаимодействия с состоянием основаны на концепции явной передачи состояния. Существует несколько методов обмена состояниями, таких как перезапись URI, cookies и скрытые поля формы. Состояние может быть встроено в ответные сообщения, чтобы указывать на действительные будущие состояния взаимодействия. См. Использование провайдеров сущностей для сопоставления HTTP-ответа и запроса тел сущностей и Извлечение параметров запроса в документе с обзором JAX-RS для получения дополнительной информации.


Назад Вперёд Содержание
Логотип Oracle  Copyright © 2017, Oracle и/или её дочерних компаний. Все права защищены. Версия перевода 1.0.5 (Java EE Tutorial — русскоязычная версия)