我目前正在尝试了解如何使用Python(Flask)创建REST API,这将允许用户通过浏览以下给出的URL来获取以JSON格式表示的一组数据:localhost:5000 / DPM . 我写了以下Python脚本但是收到错误:
文件“mysql.py”,第23行,在api.add_resource(DPM,'/ DPM')文件“C:\ Program Files \ Anaconda3 \ lib \ site-packages \ flask_restful__init __ . py”,第404行,在add_resource self中._register_view(self.app,resource,* urls,** kwargs)文件“C:\ Program Files \ Anaconda3 \ lib \ site-packages \ flask_restful__init __ . py”,第444行,在_register_view resource_func = self.output(资源 . as_view(endpoint,* resource_class_args,AttributeError:type object'DPM'没有属性'as_view'
from flask import Flask
from flask_restful import Resource, Api
from sqlalchemy import create_engine
import json
app = Flask(__name__)
api = Api(app)
class DPM:
def __init__(self, time, month):
self.time = time
self.month = month
energy = DPM('[12.18]','11')
def jdefault(o):
return o.__dict__
print(json.dumps(energy, default=jdefault, indent=4))
api.add_resource(DPM, '/DPM')
if __name__ == '__main__':
app.run(debug=True)
我在哪里做错了?
2 回答
要向API公开的类必须从Resource继承,此类实现基本方法,例如允许您呈现输出的as_view . 然后你必须实现一些方法,例如GET:
我假设你安装了所需的软件包(flask_restful,jsonify,)
这是没有带有flask_restful的orm的mysql
You can find full http methods on flask rest here