Il modo migliore per navigare in modo programmatico con l'API Github?

0

L' API GitHub supporta HATEOAS in modo abbastanza elegante, quindi navigarlo da un client grafico REST come Postman è intuitivo e veloce.

Non elencano tutte le possibili permutazioni degli endpoint quando richiedono "/" , suppongo che si limitino a elencare la parte superiore " root 'endpoint che consentono di iniziare a utilizzare le risposte per scavare più in profondità nei grafici.

Come sappiamo, uno dei vantaggi di navigare nei grafici usando gli URL delle risposte è che se la struttura dell'URL cambia, gli utenti finali sapranno sempre dove andare.

Ora cosa succede se stai scrivendo un framework che include un'API come questa. Se volessi restituire i dati dal profondo del grafico, dovresti navigare nella struttura dell'URL come farebbe un utente finale e fare più richieste mentre vai o inseriresti gli URL nel codice e richiederli direttamente?

So che GitHub fornisce URL diretti alla maggior parte (tutti?) dei dati secondari, ma nella mia API questo non esiste.

    
posta Adam Naylor 06.09.2016 - 17:40
fonte

1 risposta

1

If you wanted to return data from deep in the graph, would you navigate the URL structure like an end user would and make multiple requests as you go or would you bake the URLs into the code and request them directly?

Ciò dipenderà dal fatto che l'enfasi sia sulla flessibilità o sulle prestazioni / semplicità.

Se vuoi abbracciare completamente il modello HATEOAS, navigherai l'albero ogni volta. Potenzialmente, il tuo software potrebbe essere in grado di adattarsi automaticamente a una modifica nel modello HATEOAS, se è abbastanza intelligente da eseguire tale scoperta. Potrebbe persino memorizzare nella cache gli URL che scopre per un uso futuro.

Se desideri dare enfasi alle prestazioni e alla semplicità, creerai un Adattatore che accede direttamente agli URL di interesse . Se si verifica una modifica nell'API, usi HATEOAS per scoprire la modifica e inserire i nuovi URL.

    
risposta data 06.09.2016 - 17:55
fonte

Leggi altre domande sui tag