Unterstützt mehrere API-Versionen in der Flasche

Begann ich das design eines RESTful-webservice mit Kolben und Python, und ich Frage mich, wie würde man die Unterstützung von mehreren API-Versionen im selben Projekt.
Ich bin am überlegen, setzen die angeforderte API-version in die URL wie folgt:

/myapp/v1/Users

Nach einiger Zeit möchte ich hinzufügen, dass ein weiterer Endpunkt in der Version 1.1 der API und halten alles aus v1, die nicht zu ändern:

/myapp/v1.1/Users   <= Same as in v1
/myapp/v1.1/Books

In v2 die "Benutzer"-Endpunkt geändert:

/myapp/v2/Users   <= Changed in v2
/myapp/v2/Books   <= Same as in v1.1

und so weiter...

Blick auf diese Frage, die einfachste Möglichkeit wäre wahrscheinlich so etwas wie dieses:

@app.route('/<version>/users')
def users(version):
    # do something
    return jsonify(response)

Aber ich kann mir vorstellen, dass dies schwieriger zu halten und mit jeder neuen API-version. Also ich Frage mich, ob es nicht besser (= leichter zu pflegen und besser strukturiert) Weise zu erreichen, das mit Fläschchen?

InformationsquelleAutor Keeper | 2015-03-01
Schreibe einen Kommentar