Beim letzten Mal haben wir hauptsächlich die Verarbeitung für GET-Anforderungen implementiert (Tutorial Nr. 1). Dieses Mal schreibe ich die Verarbeitung für POST-Anforderung, PUT-Anforderung und DELETE-Anforderung mit Flask. Darüber hinaus wird die DB-Verknüpfung im nächsten Artikel vorgestellt. Daher möchte ich dieses Mal Änderungen an dem in der globalen Variablen definierten Array vornehmen.
Einzelheiten finden Sie unter hier.
Zuerst schreibe ich die Verarbeitung für die POST-Anfrage. POST wird hauptsächlich zum Hinzufügen von Daten verwendet. Diesmal verwendet der Anforderer den Befehl "curl", um den Test zu vereinfachen.
$ curl -X POST -H "Content-Type: application/json" -d '{"title":"Neuer Beitrag", "body":"Neuer Beitragです"}' localhost:5000/post/add
-X
gibt die Anforderungsmethode an, -H
gibt den Anforderungsheader an und -d
gibt den Anforderungshauptteil an. Dies ist eine Anweisung, die bedeutet, eine POST-Anfrage im json-Format an localhost: 5000 / post / add
zu senden.
Die Kolbenseite sieht so aus
app.py
@app.route('/post/add', methods=['POST'])
def create_post():
post = request.json
db_data.append(post)
return jsonify(db_data)
Der im json-Format angeforderte Text kann in request.json empfangen werden. Hängen Sie die empfangenen Artikel an ein Array an, um den Artikelzusatzprozess abzuschließen. Dieses Mal wird als Test die Artikelliste (db_data
) zurückgegeben, die in der gesamten Antwortverarbeitung geändert wurde.
Als nächstes schreiben wir die Verarbeitung für die PUT-Anfrage. Dies wird hauptsächlich zum Ändern der Daten verwendet.
terminal
$ curl -X PUT -H "Content-Type: application/json" -d '{"title":"Nachkorrektur", "body":"Dies ist ein fester Beitrag"}' localhost:5000/post/update/0
Die Anweisung bedeutet, eine PUT-Anfrage an localhost: 5000 / post / update / 0
zu senden. Hier wird der Index des Arrays als ID des Artikels nach / update
angegeben.
Der Code auf der Kolbenseite sieht so aus
app.py
@app.route('/post/update/<id>', methods=['PUT'])
def update_post(id):
post = request.json
db_data[int(id)] = post
return jsonify(db_data)
In flask können Sie Parameter an die Funktion übergeben, indem Sie "/
Schließlich die Verarbeitung für die DELETE-Anfrage. Dies wird hauptsächlich beim Löschen von Daten verwendet.
terminal
$ curl -X DELETE localhost:5000/post/delete/1
Am Ende des Updates übergeben wir den Index des Arrays von Artikeln, die wir als Parameter löschen möchten.
Die Flasche sieht so aus.
app.py
@app.route('/post/delete/<id>', methods=['DELETE'])
def delete_post(id):
db_data.pop(int(id))
return jsonify(db_data)
Es ist fast das gleiche wie beim Aktualisieren.
Wie war das? Dieses Mal implementierte Flask die Verarbeitung für POST-, PUT- und DELETE-Anforderungen. In # 3 möchte ich die DB-Verknüpfung mit der Route so wie sie ist fortsetzen.