2014-12-14 14 views
5

I Stripe API documentation for versioning stati:Che cosa sono gli URL API/v1/for in Stripe?

Quando facciamo modifiche retro-compatibili alle API, rilasciamo nuove versioni datate. La versione attuale è 2014-12-08.

Esso fornisce un esempio di come accedere charge API per una versione specifica:

curl https://api.stripe.com/v1/charges \ 
-u sk_test_BQokikJOvBiI2HlWgH4olfQ2: \ 
-H "Stripe-Version: 2014-12-08 

Se il parametro di intestazione è quello che specifica la versione (in questo caso 2014/12/08), cosa serve l'\v1\ nell'URL?

risposta

4

La risposta che un ingegnere vorrebbe che pensassimo: immagino che a un certo punto potrebbe esserci un cambiamento importante nell'API di Stripe e in che modo tutto è orchestrato, quindi vorremmo che facessero un cambiamento così grande come rinominarlo v2. In questo modo v1 sarebbe una versione principale e quindi versioni come 2014-12-08 sarebbero versioni minori. Quindi v1 è una forma di versioning semantico.

Tuttavia, quello che probabilmente è successo è che hanno rilasciato la prima API e hanno chiamato in v1. Poi hanno capito che dovevano iniziare ad aggiornarlo ed erano come "bene se iniziamo a cambiare v1 in v2 e poi in v3, ogni volta che rilasciamo un aggiornamento gli utenti devono aggiornare il loro codice per chiamare la versione corretta. intestazione versione che consente di accedere alle versioni API utilizzando lo stesso URL e la v1 nell'url è appena acquisita.

Problemi correlati