Domanda

Stiamo usando Flask per uno dei nostri API e mi stavo chiedendo se qualcuno sapeva come restituire una risposta HTTP 201?

Per gli errori come la 404 che possiamo chiamare:

from flask import abort
abort(404)

Ma per 201 ottengo

LookupError: non fa eccezione per 201

Devo creare il mio eccezione come questo nella documentazione ?

È stato utile?

Soluzione

Si può leggere su di esso qui.

return render_template('page.html'), 201

Altri suggerimenti

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

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

Per quanto manca suggerito codice di stato di invio in istruzione return e se si archiviano in una variabile come

notfound = 404
invalid = 403
ok = 200

e utilizzando

return xyz, notfound

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

La speranza aiuta.

Si può fare

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

se si vuole restituire un dati JSON nella risposta insieme al codice di errore Si può leggere su risposte qui e qui per i dettagli make_response API

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

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

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

... etc

Nel mio caso ho dovuto combinare quanto sopra, al fine di farlo funzionare

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

si può anche utilizzare per l'invio di flask_api risposta

from flask_api import status

@app.route('/your-api/')
def empty_view(self):
    content = {'your content here'}
    return content, status.HTTP_201_CREATED

è possibile trovare di riferimento qui http://www.flaskapi.org/api -guida / di stato codici /

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top