2015-09-09 31 views
7

Quale sarebbe il modo migliore per rappresentare un collegamento HATEOAS per un POST/PUT/PATCH su una risorsa? Queste operazioni hanno un payload ma non avremo un'opzione per rappresentare il payload nel link HATEOAS in quanto non sono predeterminate e possono essere pesanti. Quindi sarebbe sufficiente specificare il punto finale e specificare l'operazione?Link HATEOAS con PUT/POST

Qualsiasi esempio o esempio sarebbe molto apprezzato per una risposta JSON con HATEOAS POST/PUT/PATCH collegamento.

+0

dare un'occhiata alle specifiche della sirena. Usa qualcosa chiamato azioni che è abbastanza piacevole per oggetti utilizzabili. Cerca la seguente pagina per un esempio https://github.com/kevinswiber/siren – TheOneWhoPrograms

risposta

1

I collegamenti sono composti da due elementi: href e rel. Lo href contiene l'URL esplicito per individuare una risorsa. Lo rel identifica la relazione tra la risorsa corrente e la risorsa del collegamento. È necessario utilizzare rel per determinare quale metodo HTTP è accettabile e come utilizzare il collegamento.

La seguente è una citazione da RESTful Web Services Cookbook sezione 5.4:

Un collegamento di tipo relazione trasmette il ruolo o lo scopo di un link. Una volta che i client e i server concordano sul significato di questi tipi, i client possono trovare e utilizzare gli URI dai collegamenti.

Ad esempio, edit è un standard link relation che ha explicit details con dettagli in merito all'utilizzo GET, PUT, POST, DELETE.

Le relazioni di collegamento possono essere estese ed è possibile aggiungerne di proprie.