Domanda

Il nostro intero sistema è stato progettato intorno REST e stanno ora valutando come i processi che sono chiaramente RPC negli intenti possono essere mappati a risorse RESTful senza usare verbi nell'URL. La nostra chiamata di procedura remota viene utilizzato per ricostruire il nostro indice di ricerca quando un elenco contenuto è stato modificato altrove.

Quello che stiamo pensando di fare è questo:

POST / index_updates

<indexUpdate><contentId>123</contentId></indexUpdate>

Niente di male in sé, ma l'odore è questa risorsa che è stato creato non restituisce l'URL della risorsa appena creata per esempio / index_updates / 1234 che poi possiamo accedere con un GET.

Il motore di indicizzazione che stiamo usando ha un meccanismo di registro, quindi in teoria potevamo tornare un URL a una risorsa index_update in modo da consentire un GET per recuperare la risorsa, ma ad essere onesti non siamo interessati nella risorsa in quanto questo non è altro che un RPC sotto mentite spoglie.

Quindi la mia domanda è se restfulness è espressa nella struttura o l'intento. Sento la struttura di quello che ho descritto è riposante, ma l'intento non è.

Qualcuno ha un commenti o consigli?

Grazie,

Chris

È stato utile?

Soluzione

Utilizzare lo strumento giusto per il lavoro. In questo caso, sembra decisamente come lo strumento giusto è un puro chiamata di procedura remota, e non c'è alcun motivo per far finta che sia REST.

Altri suggerimenti

:

Una ragione si potrebbe restituire un nuovo identificatore di risorsa dal tuo post / index_updates invito è quello di monitorare lo stato dell'operazione.

  

POST / index_updates
   123

201 Created
Location: /index_updates/a9283b734e
  

GET / index_jobs / a9283b734e

 <index_update><percent_complete>89</percent_complete></index_update>

Si tratta ovviamente di un campo soggettivo, ma vengono messe Messaggio Cancella è un ricco vocabolario sufficiente per descrivere qualsiasi cosa. E quando vado a non-anglofoni paesi asiatici mi basta puntare e sanno cosa voglio dire dato che non parlo la lingua ... ma è difficile ottenere davvero in una piacevole conversazione con qualcuno ...

Non è una cattiva idea per mascherare RPC come REST, dato che è l'intero esercizio. Personalmente, penso che SOAP è stato sfondato e odiata mentre in realtà ha molti punti di forza (e con la compressione HTTP, HTTP / SSL, e biscotti, molti altri punti di forza) ... e la vostra applicazione è in realtà espongono i metodi per il cliente a chiamare. Perché si vuole a tradurre che di riposarsi? Non sono mai stato convinto. SOAP consente di utilizzare un linguaggio che noi conosciamo e amiamo, quello dell'interfaccia di programmazione.

Ma per rispondere alla tua domanda, è una cattiva idea per mascherare RPC come REST? No. mascherare RPC come REST e tradurre le quattro operazioni di base è ciò che la cosa è circa. Se si pensa che è cool o non è una storia diversa.

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