2015-07-17 5 views
0

Я улавливаю POST-запрос от запросов на фляж-отдых, и я продолжаю получать код ошибки 400 (Bad Request).Python Flask Requests 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'} 

Я постоянно получаю 400 E rror, когда часть запросов выполняет вызов API.

При изменении Request.Form к request.get_json Я получаю сообщение об ошибке, как показано ниже.

TypeError: 'instancemethod' object has no attribute '__getitem__' 

Любая помощь будет оценена по достоинству.

ответ

1

Вы отправляете запрос JSON, но приложение ожидает форму. Вместо request.form используйте request.get_json() в приложении.

+0

Я получаю следующую ошибку, когда я изменяю все на request.get_jason() в приложении. ТипError: объект instancemethod не имеет атрибута '__getitem__' –

+0

Я неправильно использовал get_jason() и вижу, что он должен быть захвачен, а paramrs извлечен с использованием стандартного метода dict. .myvar [ ''] MyParam –

Смежные вопросы