【问题标题】:Why does my POST requests on flask-restless==1.0.0b1 result in ERROR:400 MissingData为什么我对 flask-restless==1.0.0b1 的 POST 请求会导致 ERROR:400 MissingData
【发布时间】:2016-10-01 16:53:34
【问题描述】:

我有以下代码:

import requests
data = {u"username":u"cryarchy", u"password":u"Pass1234", u"email":u"email@domain.com"}
url = "http://localhost:5000/api/account"
headers = {"Content-Type":"application/vnd.api+json", "Accept":"application/vnd.api+json"}
import json
r = requests.post(url, data=json.dumps(data), headers=headers)

请求后,flask-debug 控制台显示如下:

127.0.0.1 - - [02/Jun/2016 08:33:03] "POST /api/account HTTP/1.1" 400 -
{u'username': u'cryarchy', u'password': u'Pass1234', u'email': u'email@domain.com'}
--------------------------------------------------------------------------------
ERROR in base [/home/user/tizy/MyFlask/e2-papers/venv/local/lib/python2.7/site-packages/flask_restless/views/base.py:726]:

--------------------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/user/tizy/MyFlask/e2-papers/venv/local/lib/python2.7/site-packages/flask_restless/views/resources.py", line 385, in post
instance = self.deserialize(data)
  File "/home/user/tizy/MyFlask/e2-papers/venv/local/lib/python2.7/site-packages/flask_restless/serialization.py", line 693, in __call__
    raise MissingData
MissingData
127.0.0.1 - - [02/Jun/2016 08:33:11] "POST /api/account HTTP/1.1" 400 -

由于我有以下 POST 预处理器,因此数据正在调试窗口上打印:

def post_vars_init(data=None):
    if (not data):
        raise ProcessingException(description="No data", code=500)
    print(data)

【问题讨论】:

    标签: python flask-restless


    【解决方案1】:

    在重新访问https://flask-restless.readthedocs.io/en/1.0.0b1/creating.html 后发现我的错误。发布请求数据格式是我弄错了。应该是:

    data = {'data': {'attributes': {u'username': u'cryarchy', u'password': u'Pass1234', u'email': u'email@domain.com'}, 'type': 'account'}}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-18
      • 2014-08-11
      • 2020-09-08
      • 2016-06-18
      • 1970-01-01
      • 2022-01-19
      • 2019-10-22
      相关资源
      最近更新 更多