Архитектура REST рассматривает каждый контент как ресурс. Этими ресурсами могут быть текстовые файлы, HTML-страницы, изображения, видео или динамические бизнес-данные. Сервер REST просто предоставляет доступ к ресурсам, а клиент REST осуществляет доступ и изменяет ресурсы. Здесь каждый ресурс идентифицируется URI / Global ID. REST использует различные представления для представления ресурса, где Text, JSON, XML. Самые популярные представления ресурсов — это XML и JSON.
Представление ресурсов
Ресурс в REST является похожим объектом в объектно-ориентированном программировании или похож на сущность в базе данных. Как только ресурс идентифицирован, его представление должно быть решено с использованием стандартного формата, чтобы сервер мог отправлять ресурс в вышеупомянутом формате, и клиент мог понимать тот же формат.
Например, в главе RESTful Web Services — первое приложение пользователь — это ресурс, который представлен в следующем формате XML:
<user> <id>1</id> <name>Mahesh</name> <profession>Teacher</profession> </user>
Этот же ресурс может быть представлен в формате JSON следующим образом:
{ "id":1, "name":"Mahesh", "profession":"Teacher" }
Хорошее Представление Ресурсов
REST не накладывает никаких ограничений на формат представления ресурса. Клиент может запросить представление JSON, тогда как другой клиент может запросить представление XML того же ресурса на сервере и так далее. Сервер REST отвечает за передачу клиенту ресурса в формате, понятном клиенту.
Ниже приведены некоторые важные моменты, которые необходимо учитывать при разработке формата представления ресурса в веб-службах RESTful.
-
Понятность — и Сервер, и Клиент должны уметь понимать и использовать формат представления ресурса.
-
Полнота — Формат должен уметь полностью представлять ресурс. Например, ресурс может содержать другой ресурс. Формат должен уметь представлять как простые, так и сложные структуры ресурсов.
-
Связываемость — ресурс может иметь связь с другим ресурсом, формат должен быть в состоянии справиться с такими ситуациями.
Понятность — и Сервер, и Клиент должны уметь понимать и использовать формат представления ресурса.
Полнота — Формат должен уметь полностью представлять ресурс. Например, ресурс может содержать другой ресурс. Формат должен уметь представлять как простые, так и сложные структуры ресурсов.
Связываемость — ресурс может иметь связь с другим ресурсом, формат должен быть в состоянии справиться с такими ситуациями.
Однако в настоящее время большинство веб-служб представляют ресурсы в формате XML или JSON. Существует множество библиотек и инструментов, доступных для понимания, анализа и изменения данных XML и JSON.