Какой браузер полностью поддерживает REST.Означает метод Get, Post, PUT и DELETE? - PullRequest
4 голосов
/ 09 января 2012

Какой браузер полностью поддерживает REST?Означает ли метод Get, Post, PUT и DELETE?

Я понял, что метод рельсов для понимания PUT и DELETE - это скрытая переменная "_method", такая как

  <form id="form_id" action="" method="PUT" >
   -- form content --
   </form>

method = "PUT"?

Или я ошибаюсь?

Ответы [ 3 ]

9 голосов
/ 09 января 2012

Во многих средах REST вызов HTTP-операций PUT или DELETE из браузера может быть выполнен с помощью так называемого «перегруженного POST».Это означает, что вы отправляете запрос из браузера на сервер в виде запроса POST, к которому добавляется некоторая информация, указывающая фактический метод HTTP, который следует использовать.

Я знаю, что среда Restlet для Java следуетэтот подход, и я считаю, что Rails делает то же самое.

Так что, если у вас есть REST API, определенный следующим образом:

  • POST - http://myservice/myobject -> создает новый объект и возвращает идентификатор объекта
  • GET - http://myservice/myobject/id -> возвращает объект
  • PUT - http://myservice/myobject/id -> обновляет объект
  • DELETE - http://myservice/myobject/id -> удаляет объект

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

  • POST - http://myservice/myobject/id?method=PUT -> обновить объект
  • POST - http://myservice/myobject/id?method=DELETE -> удалить объект

Фактически, для Flex, который не поддерживает PUT или DELETE, это единственный способ вызвать эти операции REST.

1 голос
/ 09 января 2012

Этот вопрос почти такой же, как и этот: Доступны ли методы PUT, DELETE, HEAD и т. Д. В большинстве веб-браузеров? , см. Отличный ответ.

Также«GET, POST, PUT и DELETE» не является «REST».Все четыре являются разными методами в спецификации HTTP, REST - это архитектурный стиль, который использует эти четыре.

0 голосов
/ 09 января 2012

PUT и DELETE являются просто спецификациями и не реализованы ни одним браузером и веб-сервером.

Поэтому не создавайте веб-сервис RESTful с поддержкой PUT или DELETE, если вы отправляете запрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...