Dans l'application, un coursier touche une livraison pour voir son détail. Il faut une adresse par livraison.
Votre mission
- Ajoutez au contrôleur une méthode
Show, branchée surGET /livraisons/{id}. - Elle cherche dans la tournée la livraison dont l'
IDest celui de l'URL, et la renvoie en JSON. - Un numéro qui n'existe pas, ou qui n'est pas un nombre, répond 404 avec
{"erreur": "livraison introuvable"}.
Rappel
ctx.Request().RouteInt("id") lit un paramètre de route et le convertit en int. Goravel a aussi RouteInt64, et Route pour la chaîne brute.
ctx.Response().Json(code, données) choisit le code HTTP. Les constantes du paquet net/http de Go sont reprises par Goravel : http.StatusNotFound vaut 404, http.StatusCreated 201, http.StatusUnprocessableEntity 422. On les préfère aux nombres, pour se relire.
En Go, return sort tout de suite de la fonction, au milieu d'une boucle comme ailleurs : le code après la boucle ne s'exécute que si rien n'a été trouvé.