software services issue create rest put

services - jira software rest api



RESTful Soft Delete (1)

Debes usar DELETE .

Lo que pretende hacer con sus datos se denomina "eliminación suave": establece una marca y evita que aparezcan elementos marcados. Esto es interno a su aplicación web y el usuario no tiene que saber que está borrando en lugar de eliminar o lo que quiera hacer. Es por esto que debes usar el verbo DELETE .

Estoy intentando crear una aplicación web RESTful en la que utilizo GET, POST, PUT y DELETE. Pero tenía una pregunta sobre el uso de BORRAR en esta aplicación en particular.

Un poco de historia primero:

Mi aplicación web administra entidades genéricas que también se administran (y, de hecho, siempre se crean) en otro sistema. Así que dentro de mi aplicación web, cada entidad se almacenará en la base de datos con una clave única. Pero la forma en que accederemos a ellos a través de las URL es con la clave única del otro sistema.

Un simple ejemplo dejará esto claro, creo. Tome la URL /entity/1 . Esto mostrará información para la entidad con ID 1 en el otro sistema , y no para mi propio sistema. De hecho, las identificaciones en mi sistema estarán completamente ocultas. No habrá un esquema de URL para acceder a la entidad con ID de 1 en mi propio sistema.

Bien, ahora que sabemos cómo está estructurada mi aplicación web, volvamos a eliminar esas entidades.

Habrá una forma de "eliminar" las entidades en mi sistema, pero pongo comillas a su alrededor porque en realidad no las borrará de la base de datos. Más bien, los marcará con una propiedad que evita que aparezca cuando vaya a /entity/1 .

Debido a esto, siento que debería usar PUT (''eliminar'' de esta manera será idempotente), ya que soy, desde la perspectiva de los datos, simplemente configurando una propiedad.

Entonces, la pregunta: ¿el enfoque RESTful es fiel a los datos (en cuyo caso está claro que estoy PUT ), o la representación de los datos en la aplicación (en cuyo caso parece que estoy DELETE )?