Domanda

Come ti implementare il supporto di copia-incolla in modo RESTful?

Diciamo che ho risorsa book store. E libri in ogni negozio

http://mydomain.com/rest/book-stores/1
http://mydomain.com/rest/book-stores/1/books/12

Ho bisogno del cliente di essere in grado di invocare copia incolla di un libro in un altro negozio.

Attuare il seguente:

PUT http://mydomain.com/rest/books/1/copy-paste

sembra molto RPC come. Avete qualche suggerimento come può questa operazione essere modellato in modo RESTful?

È stato utile?

Altri suggerimenti

Questo è un problema solo se le risorse sono organizzate per imitare un sistema gerarchico. Come un file system.

Io preferisco risorse non gerarchici. Il "percorso" per un file sarebbe solo una proprietà del file. Per copiare-incollare, ci sono due opzioni.

  1. Se davvero si vuole solo un altro "percorso" di riferimento, aggiungere un'altra voce per la proprietà "percorso". Lo stesso file esatto è "in" due "cartelle".

  2. Se avete bisogno di nuova versione del file, si biforcano in modo efficace i cambiamenti da allora in poi, creare una nuova risorsa (diverso URI) con un diverso "percorso" di proprietà.

  3. Per spostare, basta cambiare la proprietà "percorso".

Se è necessario insistere su gerarchico, solo mimare come un file system fa copia-incolla e spostamento.

La copia è facile. Una GET per la risorsa da copiare.

Per incollare, un post, perché si sta creando una nuova risorsa, un nuovo URI.

Se avete bisogno di fare una mossa, probabilmente è necessario cancellare la vecchia risorsa.

Se si desidera, è possibile specificare una posizione nella richiesta di eliminazione, consentendo al server per reindirizzare gli utenti alla ricerca per la risorsa spostato nella sua vecchia posizione.

avrei in modo che l'utente esegue il comando PUT per eseguire l'azione.

Quindi, qualcosa di simile a una variabile nei dati forma è contiene l'azione corretta da eseguire.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top