断言错误:未实现的方法'GET' - API 烧瓶



我正在尝试创建一个简单的API来返回JSON中的GET和表中的数据,其中的数据库是pgsql,但是当我执行CURL时,我会得到错误500

烧瓶.py

from flask import Flask, request, jsonify
from flask_restful import Resource, Api
from sqlalchemy import create_engine
from json import dumps
import psycopg2
db_connect = create_engine('postgresql+psycopg2://postgres:postgres@localhost/dbname')
app = Flask(__name__)
api = Api(app)
class ApiZabbix(Resource):
def getMemory(self):
try:
conn = db_connect.connect()
query = conn.execute("select * from "TBLNAME"")
result = [dict(zip(tuple(query.keys()), i)) for i in query.cursor]
return jsonify(result)
except Exception as e:
print("[ALERT] Error caused by: {}".format(e))
api.add_resource(ApiZabbix, '/apizb')
if __name__ == '__main__':
app.run()

卷曲

curl localhost:5000/apizb

输出

Traceback (most recent call last):
File "/usr/local/lib/python3.7/dist-packages/flask/app.py", line 1949, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/local/lib/python3.7/dist-packages/flask/app.py", line 1935, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/usr/local/lib/python3.7/dist-packages/flask_restful/__init__.py", line 468, in wrapper
resp = resource(*args, **kwargs)
File "/usr/local/lib/python3.7/dist-packages/flask/views.py", line 89, in view
return self.dispatch_request(*args, **kwargs)
File "/usr/local/lib/python3.7/dist-packages/flask_restful/__init__.py", line 573, in dispatch_request
assert meth is not None, 'Unimplemented method %r' % request.method
AssertionError: Unimplemented method 'GET'

断言错误:未实现的方法"GET">

这意味着您的ApiZabbix类需要一个get方法。因此,与其调用该方法getMemory,不如将其重命名为get:

class ApiZabbix(Resource):
def get(self):
# Rest of code

最新更新