[英]Python Flask-restful multiple api endpoints
如何查看已使用的路线?
目前,我无法将@api与Flask-restful和Python结合使用,因此我无法通过检查api.endpoint
值来实现整洁。
如何正确执行?
@api.route('/form', endpoint='form')
@api.route('/data', endpoint='data')
class Foobar(Resource):
def post(self):
if api.endpoint == 'api.form':
print('form')
elif api.endpoint == 'api.data':
print('data')
编辑:
我应该将其分为两类吗?
我绝对不是专业的烧瓶专家,所以请一言以蔽之。 首先,我绝对会将其分为2个不同的类,以更好地概述您的工作。 同样,根据经验,我将始终拆分api并编写自己的逻辑以实现更高的粒度。
其次,如果您想看看https://flask-restful.readthedocs.io/en/latest/api.html#flask_restful.Api.owns_endpoint 。 这可能对您有帮助。
我是python和flask的新手。
我认为类似以下的内容应该适合您:
from flask import Flask, request
from flask_restful import Api, Resource
app = Flask(__name__)
api = Api(app)
class Data(Resource):
def post(self):
print("data")
return{"type": "data"}
class Form(Resource):
def post(self):
print("form")
return{"type": "form"}
api.add_resource(Form, '/form')
api.add_resource(Data, '/data')
if __name__ == "__main__":
app.run(port=8080)
另外,您还为类使用了单独的文件,以获得更简洁的代码,例如:
表格
from flask_restful import Resource
class Form(Resource):
def post(self):
print("form")
return{"type": "form"}
data.py
from flask_restful import Resource
class Data(Resource):
def post(self):
print("data")
return{"type": "data"}
services.py
from flask import Flask, request
from flask_restful import Api
from data import Data
from form import Form
app = Flask(__name__)
api = Api(app)
api.add_resource(Form, '/form')
api.add_resource(Data, '/data')
if __name__ == "__main__":
app.run(port=8080)
希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.