Python Flask 请求 400 错误代码
Python Flask Requests 400 Error Code
我正在从请求到 flask-rest 中捕获 POST 请求,并且我不断收到 400 错误代码(错误请求)。
请求部分:
def send_data(asset_id, data1, data2, data3):
global _server_api
headers = {'content-type': 'application/json'}
complete_url = _server_api + asset_id
payload = {'d1': data1,'d2': data2,'d3': data3}
response = requests.post(complete_url, data=json.dumps(payload), headers=headers)
烧瓶部件:
from flask.ext.restful.representations.json import output_json
from flask import Flask, request
from flask_restful import reqparse, abort, Api, Resource
app = Flask(__name__)
api = Api(app)
assets = {}
class Broker(Resource):
def post(self, asset_id):
assets[asset_id] = dict()
data1 = request.form['d1']
data2 = request.form['d2']
data3 = request.form['d3']
assets[asset_id]['d1'] = request.form['d1']
assets[asset_id]['d2'] = request.form['d2']
assets[asset_id]['d3'] = request.form['d3']
collector(asset_id, data1, data2, data3) #<--- writes to DB
return {asset_id: assets[asset_id]}
api.add_resource(Broker, '/api-v1.0/add/<string:asset_id>', methods=['PUT', 'POST', 'GET'])
错误代码:
{u'status': 400, u'message': u'Bad Request'}
当请求部分调用 API 时,我不断收到 400 错误代码。
将 request.form 更改为 request.get_json 时,出现如下错误。
TypeError: 'instancemethod' object has no attribute '__getitem__'
如有任何帮助,我们将不胜感激。
您正在发送 JSON 请求,但应用需要一个表单。在应用程序中使用 request.get_json()
而不是 request.form
。
我正在从请求到 flask-rest 中捕获 POST 请求,并且我不断收到 400 错误代码(错误请求)。
请求部分:
def send_data(asset_id, data1, data2, data3):
global _server_api
headers = {'content-type': 'application/json'}
complete_url = _server_api + asset_id
payload = {'d1': data1,'d2': data2,'d3': data3}
response = requests.post(complete_url, data=json.dumps(payload), headers=headers)
烧瓶部件:
from flask.ext.restful.representations.json import output_json
from flask import Flask, request
from flask_restful import reqparse, abort, Api, Resource
app = Flask(__name__)
api = Api(app)
assets = {}
class Broker(Resource):
def post(self, asset_id):
assets[asset_id] = dict()
data1 = request.form['d1']
data2 = request.form['d2']
data3 = request.form['d3']
assets[asset_id]['d1'] = request.form['d1']
assets[asset_id]['d2'] = request.form['d2']
assets[asset_id]['d3'] = request.form['d3']
collector(asset_id, data1, data2, data3) #<--- writes to DB
return {asset_id: assets[asset_id]}
api.add_resource(Broker, '/api-v1.0/add/<string:asset_id>', methods=['PUT', 'POST', 'GET'])
错误代码:
{u'status': 400, u'message': u'Bad Request'}
当请求部分调用 API 时,我不断收到 400 错误代码。
将 request.form 更改为 request.get_json 时,出现如下错误。
TypeError: 'instancemethod' object has no attribute '__getitem__'
如有任何帮助,我们将不胜感激。
您正在发送 JSON 请求,但应用需要一个表单。在应用程序中使用 request.get_json()
而不是 request.form
。