我的瓶代码部分:Python的瓶RESTful的API
@app.route('/api/post', methods=['POST'])
def post():
body = request.get_json()
json_body = json.loads(body)
new_id = mongo.db.Projects.insert(json_body)
return str(new_id)
脚本来发布新的数据库条目:
payload = { 'ProjectName' : 'KdB Test Project' }
headers = {'Content-type': 'application/json', 'Accept': 'application/json'}
r = requests.post('http://localhost:5000/api/post', headers=headers, data=json.dumps(payload))
我不断收到JSON解码器类型错误的问题,例如
TypeError: expected string or buffer
2016-08-16 15:19:31,388 - werkzeug - INFO - 127.0.0.1 - - [16/Aug/2016 15:19:31] "POST /api/post HTTP/1.1" 500 -
我已经尝试了几件事情,发布字符串。任何线索我发布字典的方式有什么问题? 这个问题似乎是在body = request.get_json()。我不认为我正在采集任何数据...
谢谢,朋友。不幸的是,这并没有解决我的问题。我收到以下错误: –
仍然出现该错误:文件“c:\ Python27 \ Lib \ json \ __ init__.py”,第338行,加载中 return _default_decoder.decode(s) 文件“c:\ Python27 \ Lib \ json \ decoder.py“,行365解码 obj,end = self.raw_decode(s,idx = _w(s,0).end())TypeError:期望的字符串或缓冲区 –
感谢您的帮助。问题解决了。重新启动系统和/或将@ app.route更改为其他路径有所帮助。 –