我正在尝试创建一个简单的api以接收任何格式的json数据,但收到400错误的请求。请查看我的代码并更正

时间:2019-04-29 07:08:32

标签: json rest api flask flask-restful

    from flask import Flask, abort, request
    import json
    app = Flask(__name__)


    @app.route('/data', methods=['POST'])
    def data():
        if not request.json:
            abort(400)
        print(request.json)
        return json.dumps(request.json)


    if __name__ == '__main__':
        app.run(host='0.0.0.0', port=5001, debug=True)

我想将所有发帖请求发送到位于localhost:8000的另一个端点。.请提出更正建议enter code here

1 个答案:

答案 0 :(得分:0)

我尝试运行您的代码,效果很好,这是我的例子:

与您的服务器相同。关于您的代码的一个建议:不建议使用.json属性,您应该使用request.get_json()方法。

   from flask import Flask, abort, request
    import json
    app = Flask(__name__)


    @app.route('/data', methods=['POST'])
    def data():
        if not request.json:
            abort(400)
        print(request.json)
        return json.dumps(request.json)


    if __name__ == '__main__':
        app.run(host='0.0.0.0', port=5001, debug=True)

客户端:

import requests
res = requests.post('http://localhost:5001/data', json={"mytext":"test"})
if res.ok:
    print(res.json())

我猜您没有触发正确的HTTP请求。例如,您是否在http标头中添加属性Content-Type: application/json