Я просматриваю браузер для достойного примера простого, полностью REST API, безрезультатно. Проверено также на stackoverflow. Лучшее, что я видел, это этот пост. Несмотря на это, я все еще не понимаю. Давайте рассмотрим пример приложения, которое все мы знаем: wikipedia.
Предположим, мы хотим создать REST API для википедии. Мы ожидаем следующие глаголы:
GET /wiki/Article_name: obtains a specified page
DELETE /wiki/Article_name: deletes the page
POST /wiki/Article_name: creates a new page
PUT /wiki/Article_name: updates a page.
Факт: когда вы используете википедию в своем браузере, вы не используете интерфейс REST для навигации по ней. Я уверен, что когда вы обновляете страницу, вы никогда не используете PUT (хотя вы технически создаете новую версию страницы, поэтому POST имеет смысл). Аналогично, при удалении страницы браузер не отправляет DELETE.
Мои вопросы:
- - это REST также интерфейс "для браузера" или только для скриптов?
- Мы должны видеть мир HTTP исключительно глазами представительства REST? такие вещи, как GET/foo/? page = bar & action = удалить еще действительную точку зрения, или ужасные ошибки прошлого никогда не будут выполнены снова.
- должен ли перемещаться веб-доступ и интерфейс REST или разделяться? Например, предположим, что у вас есть приложение AddressBook. Вы можете просматривать адресную книгу с помощью GET/people/, а с GET/people/1523 вы получаете эту информацию одного человека в браузере, возможно, в хорошем для печати HTML. Если вы хотите изменить свою карточку, вы бы сделали (RESTfully) PUT/people/1523, или вместо этого имели бы PUT/api/v1.0/people/1523?
- кто-нибудь может убедить Роя Филдинга в том, чтобы получить человека и представить пример "5-летнего ребенка" для достойного (по его мнению) API REST, вместо жалуясь на то, что не является RESTful (по его мнению), чтобы весь мир мог пройти через?