Ultimamente ho letto molto su come implementare veramente WS RESTful. Un sacco di persone si sono collegate all'articolo here che dettaglia diversi vincoli che gli implementatori dovrebbero tenere a mente se vogliono finire con servizi conformi al concetto REST.Come si dovrebbero fornire collegamenti nel servizio RESTful usando una rappresentazione di dati non XML?
Mentre il post è chiaramente importante, sfortunatamente è abbastanza difficile da capire per noi comuni mortali e varie persone hanno provato a decipher it. Forse la migliore spiegazione che ho trovato può essere trovata here, dove l'autore fornisce un esempio concreto del perché molte API "RESTful" in circolazione oggi non sono affatto RESTful e mostra come la situazione può essere corretta.
La sua proposta si basa pesantemente sull'uso di collegamenti di incorporamento all'interno delle rappresentazioni delle risorse esposte e ha molto senso: posso seguire chiaramente la logica e vorrei impiegare tali tecniche da solo in un insieme di servizi che sto progettando tuttavia, ho un problema che non sono sicuro di come dovrei risolvere: ovvero come si dovrebbero fornire tali collegamenti se le rappresentazioni dei dati utilizzate non sono XML, ma qualcosa come JSON?
Tutto ciò che l'autore dice ha perfettamente senso nel mondo XML ma non riesco a vedere chiaramente come questo possa essere riapplicato ad altre rappresentazioni di contenuti?
Molto interessato ad ascoltare le opinioni di altre persone e vedere come le persone possono aver affrontato questo problema nelle proprie API REST non basate su XML.
[modifica]: da quando ho scritto questa domanda ho trovato il seguente usefullinks. Ci vuole molto per rispondere alla mia domanda, ma sono comunque interessato alle opinioni degli altri.
@pluto: due pensieri/domande: 1 - si dice "L'applicazione conosce il suo un URI perché questo è ciò che il nostro tipo di media dice che deve essere.": Come ha definito il tipo di supporto? Di nuovo, per XML questo è facile, si usa uno schema. Non conosco un modo standard per farlo per JSON, vero? Forse questo merita una domanda a parte ... 2: ho notato che non stai dichiarando il tipo di collegamento in linea. Forse questo non è un problema con un solo possibile link da seguire, ma se avessi più scelte, sicuramente il tipo di media sarebbe l'unico modo in cui un consumatore sarebbe in grado di decidere quale usare? – jkp
La definizione è informale e in gran parte auto-descrittiva (i dati sono altamente dinamici, quindi "è un oggetto con chiave: coppie di valori" su come riassumere). btw, ho trovato questo attraverso i tuoi link: http://json-schema.org/. Per i tipi di media nei link, personalmente penso che dovrebbe essere lasciato fuori (e lasciato all'intestazione Accept). L'URI è, dopo tutto, la _concept_ di quella risorsa, non la specifica specifica JSON, XML, HTML, ecc (almeno, questo è il modo in cui mi piace pensarlo). –
(dimenticato di aggiungere, per "tipo di media", presumo che tu intenda qualcosa come "application/json", non il "self" o "rel" che ho visto negli esempi atom) –