Domanda

ho capito come utilizzare REST per fare le interazioni generali di entità - utilizzando nomi URL per mappare entità e i verbi HTTP per mappare ad azioni su tali entità. Ma qual è il modo generalmente accettato di guardare alle "azioni" più come RPC?

Per esempio, diciamo che voglio inviare un comando per il dispositivo per ripristinare? Non c'è nessun vero "entità" qui o devo fare qualcosa di simile POST per http://mydevice/device/reset?

È stato utile?

Soluzione

/device/reset o /system/reset sono ok.

Il resto "modello di progettazione" ti incoraggio a non utilizzare per eventuali verbi .. Si potrebbe fare:

POST http://mydevice/system/state    
<stateType>RESET</stateType>

Informazioni correlate:

Altri suggerimenti

Non credo che sia il caso di usare POST. L ' "azione RESET" è un'azione idempotente (se lo si chiama n volte avrete sempre ottenere lo stesso risultato), in modo IMHO si dovrebbe usare una chiamata PUT invece POST (come POST non è idempotente).

Inoltre, come si sta mettendo una risorsa, è possibile utilizzare

PUT http://system
<device>
  <status>RESET</status>
</device>

o

 PUT http://system/status/reset

Ma penso che il primo è "più riposante", dal momento che si sta mettendo una risorsa, mentre il secondo è sufficiente utilizzare l'URL.

Io di solito il nome del "sistema" entità o qualcosa di simile. Così si fa "/ Sistema / reset". Hai dispositivo scelto in modo che funziona anche.

Ma sì, io di solito considero questi tipi di azioni per essere aggiornamenti, che userebbero il metodo POST. Quindi penso che tu abbia ragione nella quale inserire l'/ dispositivo / reset

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