Ниже приведен пример двух API, выполняющих одно и то же, но в Flask и Flask-RESTful:
< strong>Версия Flask:
Код: Выделить всё
from flask import Flask, jsonify
app = Flask(__name__)
usersList = ['Aaron', 'Bianca', 'Cat', 'Danny', 'Elena']
@app.route('/users', methods=['GET'])
def users():
return jsonify({ 'users': [user for user in usersList] })
@app.route('/user/', methods=['GET'])
def userById(id):
return jsonify({ 'username': usersList[id] })
@app.route('/user/', methods=['GET'])
def getUserByName(name):
# Show some user information
return "Some info"
@app.route('/user/', methods=['POST'])
def addUserByName(name):
usersList.append(name)
return jsonify({ 'message': 'New user added' })
app.run()
Код: Выделить всё
from flask import Flask
from flask_restful import Resource, Api
app = Flask(__name__)
api = Api(app)
usersList = ['Aaron', 'Bianca', 'Cat', 'Danny', 'Elena']
class UsersList(Resource):
def get(self):
return { 'users' : [ user for user in usersList ] }, 200
class UserById(Resource):
def get(self, id):
return { 'username': usersList[id] }
class UserByName(Resource):
def post(self, name):
usersList.append(name)
return { 'message': 'New user added'}
api.add_resource(UsersList, '/users')
api.add_resource(UserById, '/user/')
api.add_resource(UserByName, '/user/')
app.run()
Учитывая вышеизложенное, можно ли создать множество классов для подресурсов в Flask-RESTful? Или мне лучше использовать Flask? Или Flask-RESTful дает действительно хорошие преимущества перед Flask?
Подробнее здесь: https://stackoverflow.com/questions/537 ... evelopment