2012-06-04 26 views
7

Siempre uso HttpGet o HttpPost incluso cuando mi acción está ejecutando un método de eliminación en la base de datos.Cuándo debo usar HttpDelete o HttpPut en una aplicación asp.net mvc

¿Para qué debería usar entonces HttpDelete/HttpPut?

+0

Realmente puede googlearlo. Respondiendo a su pregunta: siempre puede usar la publicación para cambiar datos. No hay una necesidad real de usar Put and Delete. la mayoría de las aplicaciones no los usan. – gdoron

+1

Un consejo: en una red pública a la que pueden llegar las arañas de búsqueda: cada Get se activa mientras que Post no lo es. Entonces, si puede enviar una solicitud Get para manipular datos, tenga cuidado de qué tan visible es el enlace. FWIW – LosManos

+0

http://prideparrot.com/blog/archive/2011/10/using_http_methods_in_rest – VJAI

Respuesta

2

Si crea un servicio OData.

HTTP DELETE - Elimina los datos de entidad que representa el recurso especificado. Una carga útil no está presente en los mensajes de solicitud o respuesta.

HTTP PUT - Reemplaza los datos de entidades existentes en el recurso solicitado con nuevos datos que se suministran en la carga útil del mensaje de solicitud. (msdn)

Hay a presentation with Scott Hanselman que pueden ser interesantes. (No lo he visto todavía)

También hay a couple of lectures on pluralsight en OData si tiene una suscripción allí.

14

Los navegadores web solo admiten GET y POST, por lo que si está creando un sitio web, no hay necesidad de PUT o DELETE. Sin embargo, si está creando una API REST, PUT y DELETE son el camino a seguir si desea que sus usuarios puedan colocar y/o eliminar cosas.

EDITAR: Parece que los navegadores son compatibles con DELETE y PUT en sus implementaciones de XMLHttpRequest. Por lo tanto, puedes usarlos en solicitudes ajax. Los formularios HTML, sin embargo, no los admiten.

2

Supongo que ha entendido sobre el uso de la solicitud DELETE, pero PUT es un poco diferente.

Si estoy creando un nuevo recurso en el servidor y si el URI a través del cual se puede acceder es decidido por mí, entonces iré por PUT. En la mayoría de los casos, el servidor decide el URI y, por lo tanto, POST para la creación y PUT por lo general para la actualización.

Lo último es, como GET tanto DELETEPUT y se idempotente, significa el número de veces que el cliente envía las peticiones en serie el estado del servidor debe ser cambiado a igual que en la primera solicitud.

Cuestiones relacionadas