Pregunta

¿Cuál es el conjunto mínimo de verbos HTTP que un servidor debe permitir para que un servicio web se clasifique como RESTful?

¿Qué pasa si mi proveedor de alojamiento no lo permite? PONER y BORRAR?

¿Es esto realmente importante? ¿Puedo vivir feliz para siempre con sólo CONSEGUIR y CORREO ?


Actualizar: Gracias por las respuestas amigos, la respuesta de roger Probablemente fue mejor por el enlace a la entrevista de Bill Venners y Elliotte Rusty Harold.Ahora lo entiendo.


¿Fue útil?

Solución

Sí, puedes vivir sin PUT y DELETE.

Este artículo le dice por qué:http://www.artima.com/lejava/articles/why_put_and_delete.html

Si bien para los verdaderos RESTAfrianos esto puede ser una herejía, en el mundo real haces lo que puedes, con lo que tienes.Sea lo más racional posible y lo más coherente posible con su propia convención, pero definitivamente puede construir un buen sistema RESTful sin P y D.

rp

Otros consejos

También puedes usar X-Http-Verb-Override:DELETE inst.de HTTP BORRAR.Esto también es útil para clientes Silverlight que no pueden cambiar los verbos HTTP y solo admiten GET y POST...

Si solo usa GET y POST, sigue siendo RESTful.Es posible que su servicio web solo haga cosas que solo requieran GET o POST, así que está bien.

REST permite romper la convención del protocolo si las implementaciones del protocolo no se cumplen (de modo que lo único que se puede hacer no estándar es evitar las partes rotas de la implementación).Por lo tanto, dentro de REST se permite utilizar algún otro método para representar verbos generalmente no admitidos, como DELETE o PUT.

editar:Aquí hay una cita de Fielding, quien creó y definió REST:

Una API REST no debe contener ningún cambio en los protocolos de comunicación, aparte de completar o corregir los detalles de bits poco especificados de protocolos estándar, como el método PATCH de HTTP o el campo de encabezado de enlace.Las soluciones para implementaciones fallidas (como aquellos navegadores lo suficientemente estúpidos como para creer que HTML define el conjunto de métodos de HTTP) deben definirse por separado, o al menos en apéndices, con la expectativa de que la solución eventualmente quede obsoleta.[El error aquí implica que las interfaces de recursos son específicas de un objeto, no genéricas.]

Los navegadores web actuales sólo manejan GETS + POSTS.En Rails, por ejemplo, PUTS + DELETES se "falsifican" mediante campos de formulario ocultos.

A menos que su marco tenga alguna solución alternativa para "soportar" PUTS + DELETES, no se preocupe por ellos por ahora.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top