Это означает, что вы разрешаете доступ к объектам каким-либо образом. В ваших примерах вы могли бы позволить пользователям создавать, читать, обновлять или удалять объекты (обычно сокращенно CRUD) с использованием протокола HTTP через некоторый предопределенный способ взаимодействия с вашими объектами ( API ).
Этот API может придерживаться набора правил - например, API RESTful используют HTTP-глаголы для выполнения некоторых действий над объектами, и они придерживаются некоторых принципов, которые говорят, как ресурсы должны быть идентифицированы / представлены и как ими следует манипулировать с помощью этих представлений.
Допустим, в контексте веб-приложения у вас есть записи в блоге, которые хранятся в вашей базе данных. Вы бы хотели, чтобы пользователи вашего приложения могли что-то делать с этими сообщениями. Они не обязательно должны использовать ваш веб-сайт , но, возможно, могут использовать свое собственное приложение, которое будет подключаться к вашему приложению (например, программа для чтения блогов).
Как владелец вашего приложения, вы можете определить интерфейс, через который будет доступно ваше приложение. Например, вы можете добавить опцию для некоторых пользователей, чтобы читать или писать сообщения в блоге. Интерфейс может выглядеть примерно так (пример более сложного API см. В определении API Twitter ):
- Если
GET /posts/{number} HTTP/1.1
из вашего веб-приложения запрашивается a , вы предоставите представление вашего почтового объекта с идентификатором {number}
в предопределенном формате.
Обратите внимание, что вы не предоставляете ни объект базы данных, ни объект приложения. Вы предоставляете представление вашего объекта
- Если в вашем веб-приложении публикуется знак «
POST /posts HTTP/1.1
а» title={text1}&body={text2}
, вы создадите новый объект публикации с названием, {text1}
который будет содержать {text2}
его тело, и будет возвращать значение идентификатора вновь созданного сообщения.
Опять же, вы позволяете пользователю манипулировать представлениями ваших объектов. Пользователь не должен знать, как на самом деле выглядят ваши объекты (это абстрагируется от интерфейса пользователя).
Экспонирование объекта означает предоставление пользователю интерфейса для доступа и управления вашими объектами. Если этот интерфейс удовлетворяет некоторым дополнительным предопределенным условиям, касающимся представлений объекта и состояний приложения, которое предоставляет его объекты, то этот интерфейс называется API REST (или RESTful).