我们正在使用Flask为我们的API之一,我只是想知道是否有人知道如何返回HTTP响应201?
对于404这样的错误,我们可以调用:
from flask import abort
abort(404)
但是201美元我得到了
LookupError: 201没有例外
我需要在文档中创建自己的异常吗?
我们正在使用Flask为我们的API之一,我只是想知道是否有人知道如何返回HTTP响应201?
对于404这样的错误,我们可以调用:
from flask import abort
abort(404)
但是201美元我得到了
LookupError: 201没有例外
我需要在文档中创建自己的异常吗?
当前回答
你只需要在你返回的数据后添加你的状态码,就像这样:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world(): # put application's code here
return 'Hello World!',201
if __name__ == '__main__':
app.run()
这是一个基本的烧瓶项目。启动后,您会发现当我们请求http://127.0.0.1:5000/时,您将从web浏览器控制台获得状态201。
其他回答
在你的flask代码中,理想情况下,你应该尽可能多地指定MIME类型,以及:
return html_page_str, 200, {'ContentType':'text/html'}
return json.dumps({'success':True}), 200, {'ContentType':'application/json'}
等
你可以在这里阅读。
return render_template('page.html'), 201
对于404错误,可以这样做
def post():
#either pass or get error
post = Model.query.get_or_404()
return jsonify(post.to_json())
201的成功
def new_post():
post = Model.from_json(request.json)
return jsonify(post.to_json()), 201, \
{'Location': url_for('api.get_post', id=post.id, _external=True)}
您还可以使用flask_api发送响应
from flask_api import status
@app.route('/your-api/')
def empty_view(self):
content = {'your content here'}
return content, status.HTTP_201_CREATED
你可以在这里找到参考资料http://www.flaskapi.org/api-guide/status-codes/
你可以这样做
result = {'a': 'b'}
return result, 201
如果您想在响应中返回一个JSON数据和错误代码 您可以在这里和这里阅读有关make_response API的详细信息