TypeError:创建RESTful API后端时,“ NoneType”对象不可下标

问题描述

我正在尝试测试Restful后端。运行代码时,出现以下错误:q = json_data ['q'] TypeError:“ 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

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