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

Que faire cette fois

La dernière fois, nous avons principalement implémenté le traitement des requêtes GET (Tutoriel # 1). Cette fois, j'écrirai le traitement de la requête POST, de la requête PUT et de la requête DELETE avec Flask. De plus, la liaison DB sera introduite dans le prochain article, donc cette fois je voudrais apporter des modifications au tableau défini dans la variable globale.

Pour plus de détails, voir ici.

Demande POST

Tout d'abord, j'écrirai le traitement de la requête POST. POST est principalement utilisé pour ajouter des données. Cette fois, le demandeur utilisera la commande curl pour simplifier le test.

$ curl -X POST -H "Content-Type: application/json" -d '{"title":"Nouveau poste", "body":"Nouveau posteです"}' localhost:5000/post/add

-X spécifie la méthode de demande, -H spécifie l'en-tête de la demande et -d spécifie le corps de la demande. Ceci est une instruction qui signifie envoyer une requête POST à localhost: 5000 / post / add au format json.

Le côté du ballon ressemble à ceci

app.py


@app.route('/post/add', methods=['POST'])
def create_post():
    post = request.json
    db_data.append(post)
    return jsonify(db_data)

Le corps demandé au format json peut être reçu dans request.json. Ajoutez les articles reçus à un tableau pour terminer le processus d'ajout d'articles. Cette fois, à titre de test, la liste d'articles (db_data) modifiée dans tout le traitement des réponses est renvoyée.

Demande PUT

Ensuite, nous écrirons le traitement de la requête PUT. Ceci est principalement utilisé pour modifier les données.

terminal


$ curl -X PUT -H "Content-Type: application/json" -d '{"title":"Post correction", "body":"Ceci est un poste fixe"}' localhost:5000/post/update/0

L'instruction signifie envoyer une requête PUT à localhost: 5000 / post / update / 0. Ici, l'index du tableau est spécifié comme l'id de l'article après / update.

Le code sur le côté du flacon ressemble à ceci

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)

Dans flask, vous pouvez passer des paramètres à la fonction en spécifiant / <paramètre> pour route. L'article idth du tableau est remplacé par le contenu de l'article reçu de la demande.

Supprimer la demande

Enfin, le traitement de la requête DELETE. Ceci est principalement utilisé lors de la suppression de données.

terminal


$ curl -X DELETE localhost:5000/post/delete/1

A la fin de la mise à jour, nous passons l'index du tableau d'articles que nous voulons supprimer en paramètre.

Le ballon ressemble à ceci.

app.py


@app.route('/post/delete/<id>', methods=['DELETE'])
def delete_post(id):
    db_data.pop(int(id))
    return jsonify(db_data)

C'est presque la même chose que lors de la mise à jour.

Résumé

Comment était-ce? Cette fois, Flask a implémenté le traitement des requêtes POST, PUT et DELETE. Dans # 3, je voudrais continuer le lien DB avec l'itinéraire tel qu'il est.

Recommended Posts

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