Я начал создавать веб-сервис RESTful с Flask и Python, и мне интересно, как поддерживать несколько версий API в одном проекте. Я собираюсь поместить запрошенную версию API в URL-адрес следующим образом:
/myapp/v1/Users
Через некоторое время я хочу добавить еще одну конечную точку в версии 1.1 API и сохранить все, начиная с версии v1, которая не изменилась:
/myapp/v1.1/Users <= Same as in v1
/myapp/v1.1/Books
В версии v2 изменена точка-пользователи:
/myapp/v2/Users <= Changed in v2
/myapp/v2/Books <= Same as in v1.1
и т.д.
Рассматривая этот вопрос, самый простой способ, вероятно, будет примерно таким:
@app.route('/<version>/users')
def users(version):
# do something
return jsonify(response)
Но я могу представить, что с каждой новой версией API это будет сложнее поддерживать. Поэтому мне было интересно, есть ли лучше (= проще поддерживать и лучше структурировать) способ достичь этого с помощью Flask?