2011-10-19 14 views
65

Utilizziamo Flask per una delle nostre API e mi chiedevo se qualcuno sapesse come restituire una risposta HTTP 201?Restituisci il codice di stato HTTP 201 nel pallone

Per gli errori come ad esempio 404 che possiamo chiamare:

from flask import abort 
abort(404) 

Ma per 201 ottengo

LookupError: no exception for 201

Devo creare il mio eccezione come this nella documentazione?

+6

'return '', 201' – Luc

risposta

85

Si può leggere su di esso here.

return render_template('page.html'), 201 
15

Come mancanze suggerito codice di stato di invio nel return e se si archiviano in una variabile come

notfound = 404 
invalid = 403 
ok = 200 

e utilizzando

return xyz, notfound 

del tempo assicurati che il suo tipo sia int non str. come ho affrontato questo piccolo problema anche qui è l'elenco del codice di stato seguito globalmente http://www.w3.org/Protocols/HTTP/HTRESP.html

Spero che aiuti.

0

Nel codice pallone, si dovrebbe idealmente specificare il tipo MIME il più spesso possibile, così:

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

JSON ritorno .dumps ({ 'successo': true}), 200, { 'ContentType': 'application/json'}

... ecc

9

È possibile utilizzare risposta per restituire qualsiasi codice di stato HTTP.

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