我正在尝试创建一个简单的 api 来接收任何格式的 json 数据,但收到 400 个错误请求。请查看我的代码并更正
i am trying to create a simple api to recieve any format of json data but getting 400 bad request.. please have a look to my code and correct
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)
我想将我所有的 post 请求发送到位于 localhost:8000 的另一个端点。请提出更正建议enter code here
我试过运行你的代码,它工作正常,这是我的例子:
服务器和你的一样。关于您的代码的一项建议:.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 header 中添加属性 Content-Type: application/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)
我想将我所有的 post 请求发送到位于 localhost:8000 的另一个端点。请提出更正建议enter code here
我试过运行你的代码,它工作正常,这是我的例子:
服务器和你的一样。关于您的代码的一项建议:.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 header 中添加属性 Content-Type: application/json
?