[PYTHON] Flask Tutorial # 2 ~ POST, PUT, DELETE Request ~

Was ist diesmal zu tun?

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.

POST-Anfrage

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.

PUT-Anfrage

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 "/ " für die Route angeben. Der id-te Artikel im Array wird durch den Artikelinhalt ersetzt, der von der Anforderung empfangen wurde.

Anfrage LÖSCHEN

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.

Zusammenfassung

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.

Recommended Posts

Flask Tutorial # 2 ~ POST, PUT, DELETE Request ~
Flask Tutorial # 1 ~ GET Request ~
Flask Tutorial # 3 ~ DB Linkage ~