2015-01-20 7 views
5

Sto attuazione del lato client iOS della nostra Endpoint Google Cloud API, e vogliono sapere come Endpoint cloud documenti di individuazione vengono interpretati internamente su iOS, così quando posso apportare modifiche sul lato endpoint Cloud (aggiungere un campo, cambiare un nome del campo, cancella un campo) cosa succede ai clienti più vecchi?Google Cloud Endpoints modifiche al documento di scoperta/supporto evoluzione su iOS?

So che Cloud Endpoints espone un'API JSON REST per il lato Javascript/AngularJS che potremmo collegare manualmente usando qualcosa come AFNetworking su iOS. Ho familiarità con la gestione delle modifiche API sul client in tale scenario, ma se ha senso utilizzare l'implementazione SDK/RPC Toolkit, preferirei farlo.

È questo il tutto gestito dal controllo delle versioni API, allora? Quindi i client più vecchi richiederebbero una versione più vecchia dell'API? L'SDK di Google iOS supporta quindi il controllo delle versioni semantiche? Potrei vedere i numeri di versione andare fuori controllo rapidamente se non.

Nota questa è la versione Python di GCE.

risposta

0

Si dovrebbe generazione e l'uso di una libreria client, in ultima analisi, se non si vuole sia te stesso con tutti i tipi di dettagli di implementazione di come chiamare l'API endpoint. D'altra parte, se si dovesse andare con AFNetworking, spetterà a te fare la tua ricerca su come le API REST possono essere chiamate con AFNetworking. L'API REST definita dagli endpoint può essere letta su in the documentation e inoltre puoi utilizzare l'API Explorer per testare i tuoi metodi e persino catturare le intestazioni inviate con queste richieste nel tuo browser.

In secondo luogo, va da sé che non si deve codificare un'API, quindi cambiare radicalmente le sue specifiche, senza controllo delle versioni o notifica/aggiornamento qualsiasi client. Il sistema versione è implementato A) nella libreria client generata dal documento di scoperta e B) nella route URL dell'API REST stessa. Si dovrebbe scegliere qualsiasi schema di denominazione per il controllo delle versioni supportato dal framework di destinazione.

Spero che questo ha chiarito ogni confusione per voi.

+0

Quindi è fondamentalmente la roba standard API REST palude .. una volta che si distribuisce con i clienti, non ci sono i nomi dei campi che cambiano o qualsiasi cosa se non si desidera la versione endpoint o la versione intera API? –

+0

Voglio dire, ovviamente * potresti * ridistribuire la stessa versione dell'API con le modifiche apportate, ma mi riferivo alle best practice. È meglio mantenere una versione di un'API in fase di sviluppo fino al superamento dei test e quindi distribuirla una volta per tutte come tale versione. Una volta distribuita una versione, a meno che non si tratti di una patch secondaria che non va in pezzi o incide sul modo in cui il client deve chiamare l'API, è meglio predisporre una nuova versione affinché funzioni, soprattutto se si apportano modifiche ad aspetti come gli elenchi di parametri , tipi di dati, la natura del codice all'interno di un metodo e i suoi effetti collaterali, ecc ... – Nick

Problemi correlati