问题:在烧瓶中返回HTTP状态代码201
我们正在使用Flask作为我们的API之一,我只是想知道是否有人知道如何返回HTTP响应201?
对于诸如404之类的错误,我们可以调用:
from flask import abort
abort(404)
但是对于201我得到
LookupError:201也不exceptions
我是否需要创建自己的exceptions,像这样的文档?
回答 0
回答 1
您可以使用Response返回任何http状态代码。
> from flask import Response
> return Response("{'a':'b'}", status=201, mimetype='application/json')
回答 2
由于缺乏建议,所以在return语句中发送状态代码,如果您将其存储在某些变量中,例如
notfound = 404
invalid = 403
ok = 200
和使用
return xyz, notfound
一定要确保其类型为int not str。当我遇到这个小问题时,这也是状态代码列表,在全球范围内 http://www.w3.org/Protocols/HTTP/HTRESP.html
希望能帮助到你。
回答 3
你可以做
result = {'a': 'b'}
return jsonify(result), 201
如果您想在响应中返回JSON数据以及错误代码,请在此处和此处阅读有关响应的信息,以获取make_response API详细信息
回答 4
理想情况下,在烧瓶代码中,还应尽可能频繁地指定MIME类型:
return html_page_str, 200, {'ContentType':'text/html'}
return json.dumps({'success':True}), 200, {'ContentType':'application/json'}
…等等
回答 5
您还可以使用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
回答 6
根据API的创建方式,通常返回201(创建),您将返回创建的资源。例如,如果它正在创建一个用户帐户,您将执行以下操作:
return {"data": {"username": "test","id":"fdsf345"}}, 201
请注意,后缀数字是返回的状态码。
或者,您可能希望向客户端发送一条消息,例如:
return {"msg": "Created Successfully"}, 201
回答 7
就我而言,我必须将上述内容组合在一起才能使其正常工作
return Response(json.dumps({'Error': 'Error in payload'}),
status=422,
mimetype="application/json")
回答 8
因此,如果您使用flask_restful
API的Package ,则返回201会像
def bla(*args, **kwargs):
...
return data, 201
哪里data
应该是任何hashable / JsonSerialiable值,例如dict,string。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。