it-swarm-id.com

Kembalikan kode status HTTP 201 dalam labu

Kami menggunakan Flask untuk salah satu API kami dan saya hanya ingin tahu apakah ada yang tahu cara mengembalikan respons HTTP 201?

Untuk kesalahan seperti 404 kita dapat memanggil:

from flask import abort
abort(404)

Tapi untuk 201 saya dapatkan

LookupError: tidak terkecuali untuk 201

Apakah saya perlu membuat pengecualian sendiri seperti ini dalam dokumen?

91
ingh.am

Anda dapat membacanya di sini.

return render_template('page.html'), 201
105
Iacks

Anda dapat menggunakan Respons untuk mengembalikan kode status http apa pun.

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

Karena kurang disarankan mengirim kode status dalam pernyataan kembali Dan jika Anda menyimpannya dalam beberapa variabel seperti 

notfound = 404
invalid = 403
ok = 200

dan menggunakan

return xyz, notfound

daripada waktu pastikan tipenya int bukan str. karena saya menghadapi masalah kecil ini juga di sini adalah daftar kode status diikuti secara global http://www.w3.org/Protocols/HTTP/HTRESP.html

Semoga ini bisa membantu.

19
Harsh Daftary

Dalam kode labu Anda, Anda sebaiknya menentukan tipe MIME sesering mungkin, juga:

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

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

... dll

2
Ben Wheeler

Anda dapat melakukan 

from flask import make_response

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

jika Anda ingin mengembalikan data JSON dalam respons bersama dengan kode kesalahan Anda dapat membaca tentang tanggapan sini dan sini untuk detail API make_response

1
Kishan K