TypeError: 'NoneType' object is not subscriptable when creating RESTful API backend

TypeError: 'NoneType' object is not subscriptable when creating RESTful API backend

我正在尝试测试我的 Restful 后端。当我 运行 代码时,出现以下错误: q = json_data['q'] 类型错误:'NoneType' 对象不可订阅

Api.py

from flask import Flask, request
from flask_restful import Resource, Api
from flask_cors import CORS
from job_board_controller import JobBoardController

app = Flask(__name__)
api = Api(app)
CORS(app)

class JobApi(Resource):
    def get(self):
        json_data = request.get_json()
        print(request.args)
        q = json_data['q']
        l = json_data['l']
        ip = json_data['ip']
        print(json_data)
        jobs = JobBoardController()
        jobs_reports = jobs.getJobListings(q, l, ip)
        return {'reports': jobs_reports}


api.add_resource(JobApi, '/job_board_api')
if __name__ == '__main__':
    app.run(debug=False)

乍一看,返回的请求不包含响应。

发生 NoneType 错误是因为您试图访问一个变量的索引 q,该变量不是对象,而是一个空变量。

如果我在代码中定义:

>>> a = None
>>> a['q']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'NoneType' object is not subscriptable

如您所见,我遇到了同样的错误。