【发布时间】:2017-08-30 07:31:54
【问题描述】:
即使在这里和那里遵循许多示例,我也无法在 POST 方法中使用我的 API。 这是关于它的代码:
from flask import Flask, jsonify, request
@app.route('/api/v1/lists', methods=['POST'])
def add_entry():
print("p0")
content = request.get_json()
appname = content.get('title')
print(content)
print(appname)
当我使用 curl 查询时(我在 Windows 上运行它):
curl.exe -i -H "Content-Type: application/json" -X POST -d '{"title":"titi"}' http://localhost:5000/api/v1/lists
curl.exe -i -H "Content-Type: application/json" -X POST -d "{"""title""":"""读一本书"""}" http://localhost:5000/api/v1/lists
我总是返回 400 错误:
HTTP/1.0 400 错误请求 内容类型:文本/html 内容长度:192 服务器:Werkzeug/0.12.1 Python/3.6.0 日期:格林威治标准时间 2017 年 4 月 4 日星期二 21:55:29 400 错误请求 错误的请求 浏览器(或代理)发送了此服务器无法理解的请求。
我没有看到错误在哪里。
感谢您的帮助。
【问题讨论】:
-
对于其他人:
POSTing json 在 Windows 上通过 curl 需要以不同方式转义引号,请参阅 stackoverflow.com/a/12498151/882436
标签: python json curl flask cmd