Sto cercando di chiarire un concetto correlato alla rilevabilità REST - che è se o meno soddisfare il vincolo HATEOAS per un servizio RESTful significa che ora gli URI possono cambiare, perché sono rilevabili e non documentati.rende Discoverability REST e HATEOAS implica che è possibile modificare gli URI?
Questo sembra non seguire il concetto di Cool URIs - il fatto che gli URI non cambiano, mai. È anche alquanto in disaccordo con il modello del web stesso (che REST dovrebbe essenzialmente adattarsi perfettamente) - il fatto che gli URL siano bookmarkable e non cambino mai, e il fatto che una volta che ne impari uno, puoi andare direttamente ad esso e lo fai non è necessario passare attraverso la radice e scoprirlo ogni volta.
Qualsiasi feedback su questo è apprezzato.
Grazie per la rapida risposta. Ho letto l'articolo ma non sono ancora chiaro su alcune cose: in primo luogo, non è per cosa è la versione dell'API? e in secondo luogo, dovrebbe esserci QUALSIASI documentazione? La mia comprensione è che in una pura implementazione RESTful, ci sarebbe praticamente zero documentazione. Sarebbe meglio usare solo URL interessanti e fare una versione diversa dell'API per un cambiamento così radicale? – Eugen
Il versioning di un'API puramente per mantenere la compatibilità della struttura URI porta agli stessi problemi di avere un WSDL per ogni versione del tuo servizio web: non stai evolvendo il tuo servizio, stai aggiungendo nuove versioni (per lo più duplicate) ogni volta che dovrai testare, mantenere, documentare, ecc. Fai così, e saluta un enorme vantaggio di REST: evoluzione dinamica dei tuoi "contratti" e un meraviglioso disaccoppiamento tra client e server. –
E per quanto riguarda la mancanza di documentazione, certo - quando l'intero mondo del software ha sviluppato competenze con REST, avrà perfettamente senso. Ci saranno sempre i neofiti che vogliono usare la tua API, e non dare loro alcunché con cui lavorare non ha senso per me. Certo, un esperto di REST potrebbe probabilmente sedersi e capire tutto, ma non è il mondo in cui viviamo.Documenta i tuoi tipi di media e la semantica di ogni risorsa e fornisci un codice di esempio che mostra come devono essere costruiti i clienti ben strutturati, e starai bene. –