Вопрос

Мы используем колбу для одного из наших API, и мне просто было интересно, знает ли кто -нибудь, как вернуть HTTP -ответ 201?

Для таких ошибок, как 404, мы можем позвонить:

from flask import abort
abort(404)

Но на 201 я получаю

Lookuperror: нет исключения для 201

Мне нужно создать свое собственное исключение, как это в документах?

Это было полезно?

Решение

Вы можете прочитать об этом здесь.

return render_template('page.html'), 201

Другие советы

Вы можете использовать ответ, чтобы вернуть любой код состояния HTTP.

> from flask import Response
> return Response("{'a':'b'}", status=201, mimetype='application/json')

Поскольку не хватает, отправить код состояния в обратном операторе и если вы храните его в какой -то переменной, например

notfound = 404
invalid = 403
ok = 200

и использование

return xyz, notfound

чем время убедитесь, что его тип не Str. Поскольку я столкнулся с этой небольшой проблемой, здесь также является списком кода состояния, который последовал за глобальноhttp://www.w3.org/protocols/http/htresp.html

Надеюсь, поможет.

Ты можешь сделать

result = {'a': 'b'}
return jsonify(result), 201

Если вы хотите вернуть данные JSON в ответе вместе с кодом ошибки, который вы можете прочитать о ответах здесь а также здесь Для деталей API make_response

В вашем коде Flask вы должны в идеале указать тип MIME как можно чаще, а также:

return html_page_str, 200, {'ContentType':'text/html'}

return json.dumps({'success':True}), 200, {'ContentType':'application/json'}

...так далее

В моем случае мне пришлось объединить вышеизложенное, чтобы заставить его работать

return Response(json.dumps({'Error': 'Error in payload'}), 
status=422, 
mimetype="application/json")

Вы также можете использовать 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/

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top