En selle !

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

Notions abordées : RouteRéponse JSON

Les Gophers Volants sont une coopérative de coursiers à vélo, à Lyon. Margot, qui l'a fondée, en a assez du tableau blanc couvert de flèches et des textos qui se perdent. Elle veut une API pour l'application des coursiers, et elle a choisi Goravel, un framework Go qui ressemble beaucoup à Laravel. Le projet est déjà créé, et il tourne ici, dans votre navigateur.

Avant tout, l'application des coursiers doit savoir si le serveur est en route.

Votre mission

  1. Ouvrez routes/web.go : c'est l'équivalent de routes/web.php dans Laravel. La fonction Web() déclare les routes ; il y en a déjà deux : la page d'accueil et /bonjour/{nom}.
  2. Ajoutez une route GET /ping, en vous inspirant de celle de /.
  3. Elle répond un JSON : {"statut": "en selle"}, avec le code 200.

L'aperçu affiche /ping à chaque modification, et l'onglet « Requêtes » envoie la requête pour vous. Quand c'est bon, lancez les tests.

Rappel

facades.Route().Get(chemin, action) est le Route::get() de Laravel. L'action est une fonction qui reçoit le contexte de la requête, ctx http.Context, et renvoie une http.Response. En Go, le type d'une variable s'écrit après son nom : ctx http.Context se lit « ctx, de type http.Context ».

ctx.Response() construit la réponse : .Success() met le code 200, .Json(…) écrit le corps en JSON. http.Json est une simple map, l'équivalent du tableau associatif qu'on passerait à response()->json().