La prima cosa che si dovrebbe guardare è il browser web comune. È lo standard per un cliente che abbraccia HATEOAS (almeno in una certa misura).
Ecco come funziona Hypermedia.E 'così semplice che è quasi doloroso:
- si punta il browser per
http://pigs-are-cool.org/
- il browser carica la pagina HTML, immagini, CSS e così via.
- A questo punto, l'applicazione (la tua esperienza di navigazione) si trova su un URI specifico.
- Il browser sta mostrando il contenuto di tale URI
- si vede un collegamento nell'applicazione
- si fa clic sul collegamento
- il browser segue il link
- a questo punto, il l'applicazione è a un URI diverso
- Il browser sta visualizzando il contenuto del nuovo URI
Ora, per una breve spiegazione di come i due termini si riferiscono alla esperienza di navigazione web:
- Hypermedia = pagine HTML con i link incorporati
- stato dell'applicazione = quello che stai vedendo nel browser in qualsiasi momento.
Così hateoas descrive in realtà ciò che accade in un browser web quando si passa dalla pagina web alla pagina web:
pagine HTML con link incorporati unità ciò che si vede nel browser in qualsiasi punto time
Il termine HATEOAS è solo un'astrazione di questa esperienza di navigazione.
Altri esempi di applicazioni client RESTful includono:
- RSS feed e lettori. Traggono collegamenti dati dagli utenti
- La maggior parte dei client di blog AtomPub. Hanno bisogno semplicemente di un URI per un documento di servizi, e da lì scoprono dove caricare immagini e post di blog, ricerche e così via.
- Probabilmente Google Gadget (e simili), ma sono semplicemente browser in un'altra skin.
- I crawler Web sono anche clienti RESTful, ma sono un mercato di nicchia.
Alcune caratteristiche del RESTful software client:
- Il client funziona con con qualsiasi server, dato che si è innescato con un po 'URI e il server risponde con un risultato atteso (ad esempio per un client atomo di blog , un documento di servizi Atom).
- il cliente sa nulla su come il server progetta i suoi URI diverso da quello che può scoprire a runtime
- Il cliente conosce abbastanza tipi di media e le relazioni di collegamento per capire che cosa il server sta dicendo (ad es Atom o RSS)
- Il client utilizza collegamenti incorporati per trovare altre risorse; alcuni automaticamente (come
<img src=
) alcuni manualmente (come <a href=
).
Molto spesso sono guidati da un utente e possono essere correttamente definiti "agenti utente", ad eccezione, ad esempio, di GoogleBot.
Buona domanda. Non ho trovato nessun framework per scrivere i client RESTful: IE quelli che possono reagire dinamicamente seguendo il principio di HATEOAS. È un peccato perché questa idea è un principio di REST, ma la mancanza di supporto formale e un sacco di equivoci sul REST in generale fanno apparire la comunità frammentata. – jkp
@DawidFerenczy è fuori tema per gli stessi motivi che è qui. Si prega di astenersi dal raccomandare siti che non si conoscono. Lettura consigliata: ** [Cosa succede in Software Engineering (precedentemente noto come Programmer)? Una guida per Stack Overflow] (https://softwareengineering.meta.stackexchange.com/q/7182/31260) ** – gnat