Livrée !

Exercice 3 sur 3 du chapitre 4 · 100 XP · 4 objectifs vérifiés par des tests

Notions abordées : Query builderUpdatePATCH204

Dernière demande de Margot : quand un coursier a déposé son colis, il touche « Livrée » dans l'application, et l'application la range parmi les courses faites.

Votre mission

  1. Complétez la méthode Livrer du contrôleur : elle marque la livraison de l'URL comme livrée (livree à vrai) dans la table.
  2. Elle répond 204, sans contenu.
  3. Un numéro inconnu répond 404 avec {"erreur": "livraison introuvable"}.
  4. Branchez-la sur PATCH /api/livraisons/{id}/livree, dans le groupe de l'API.

Rappel

Update(colonnes) modifie les lignes que sélectionne la requête, comme DB::table()->where()->update() dans Laravel. Il renvoie un *db.Result dont RowsAffected dit combien de lignes ont changé : c'est la façon de savoir, sans relire la table, si la livraison existait.

PATCH modifie une partie d'une ressource, là où PUT la remplace en entier. Une réponse 204 No Content dit « c'est fait » sans rien renvoyer : l'application relira la livraison si elle en a besoin.

La tournée est bouclée : routes, contrôleurs, vue, validation, middleware et base de données. Vous avez fait le tour de ce qu'un framework web fait au quotidien, en Go.