Сведения о вопросе

FromRussia

11:09, 18th August, 2020

Теги

web-services   rest    

RESTful web services и HTTP глаголов

Просмотров: 445   Ответов: 5

Каков минимальный набор глаголов HTTP, который сервер должен разрешить для веб-службы быть классифицирован как RESTful?

А что, если мой хозяин не разрешит PUT и DELETE ?

Действительно ли это важно, могу ли я жить долго и счастливо только с GET и POST ?


Обновление: Спасибо за ответы, ребята, ответ Роджера был, вероятно, лучшим из-за ссылки на интервью Билла Веннерса и Эллиота расти Гарольда. Теперь я все понимаю.




  Сведения об ответе

fo_I_K

11:01, 10th August, 2020

Да, вы можете жить без PUT и DELETE.

Эта статья расскажет вам почему: http://www.artima.com/lejava/articles/why_put_and_delete.html

Хотя для истинного RESTafrians это может быть ересью, в реальном мире вы делаете то, что можете, с тем, что у вас есть. Будьте настолько рациональны, насколько это возможно, и настолько последовательны в соответствии с вашим собственным соглашением, насколько это возможно, но вы определенно можете построить хорошую систему RESTful без P и D.

армированный пластик


  Сведения об ответе

padenie

01:25, 2nd August, 2020

Вы также можете использовать X-Http-Verb-Override:DELETE inst. из HTTP удалить. Это также полезно для клиентов Silverlight, которые не могут изменить глаголы HTTP и поддерживают только GET и POST...


  Сведения об ответе

KOMP

05:54, 27th August, 2020

REST позволяет нарушать конвенцию протокола, если реализации протокола нарушены (так что единственные нестандартные вещи, которые вы делаете,-это обходить сломанные части реализации). Таким образом, в пределах REST допустимо использовать какой-либо другой метод для представления обычно неподдерживаемых глаголов, таких как DELETE или PUT.

edit: вот цитата из Филдинга, который является тем, кто создал и определил REST:

A REST API не должен содержать никаких изменений в протоколах связи, кроме заполнения или фиксации сведений о недостаточно определенных битах стандартных протоколов, таких как метод PATCH HTTP или поле заголовка ссылки. Обходные пути для сломанных реализаций (например, те браузеры, которые достаточно глупы, чтобы полагать, что HTML определяет набор методов HTTP) должны быть определены отдельно или, по крайней мере, в приложениях, с ожиданием, что обходной путь в конечном итоге будет устаревшим. [Отказ здесь подразумевает, что интерфейсы ресурсов являются объектно-специфичными, а не универсальными.]


  Сведения об ответе

прога

01:17, 27th August, 2020

Если вы просто используете GET и POST, это все равно RESTful. Ваш веб-сервис может делать только те вещи, которые требуют только GET или POST, так что это нормально.


  Сведения об ответе

Chhiki

11:36, 12th August, 2020

Современные веб-браузеры обрабатывают только GETS + POSTS. В Rails, например, PUTS + DELETES являются "faked" через скрытые поля формы.

Если ваш фреймворк не имеет какого-то обходного пути к "support" PUTS + DELETES, не беспокойтесь о них сейчас.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться