Я хотел бы создать псевдоним между двумя ресурсами.
from flask import Flask
from flask_restful import Api, Resource
class api_v1_help(Resource):
def get(self):
html_file = "API V1"
return (html_file, 200, {'Content-Type': 'text/html; charset=utf-8'})
class api_v2_help(Resource):
def get(self):
html_file = "API V2"
return (html_file, 200, {'Content-Type': 'text/html; charset=utf-8'})
app = Flask(__name__)
api = Api(app)
# API (current)
api.add_resource(api_v1_help, '/api/help')
# API v1
api.add_resource(api_v1_help, '/api/v1/help')
# API v2
api.add_resource(api_v2_help, '/api/v2/help')
if __name__ == '__main__':
# Start app
app.run(debug=True,port=5000)
Это дает следующую ошибку: AssertionError: отображение функции просмотра перезаписывает существующую функцию конечной точки: api_v1_help
Я могу изменить код следующим образом:
api.add_resource(api_v1_help, '/api/help', '/api/v1/help')
но я хотел бы знать, есть ли другое решение с flask-restful для обработки псевдонима путем связывания двух конечных точек API с одной и той же функцией?
Я ищу, чтобы сгруппировать вызовы для конкретной версии API.