Inspecter une requête¶
Objectif : visualiser le contenu d'une requête pour comprendre ce que Forge reçoit.
Ce que vous allez apprendre : afficher les données de la requête avec Response.debug(request.data), une aide pédagogique disponible en environnement de développement.
WelcomeController porte déjà les méthodes des paliers précédents, et mvc/routes.py déclare les routes correspondantes jusqu'à /welcome/article/{id}.
Nous ajoutons une méthode et une route.
Documentations
Pour bien comprendre ce palier :
| Document | Ce qu'il apporte |
|---|---|
| L'objet Request | ce que regroupe request.data |
| L'objet Response | la réponse, ici la page de débogage Response.debug(...) |
Contrôleurs
Ajoutez cette méthode à la classe WelcomeController :
| Élément | Rôle |
|---|---|
request.data |
Rassemble les données utiles de la requête courante. |
Response.debug(...) |
Présente ces données sous forme de page HTML lisible, pensée pour l'inspection pendant le développement. |
Cette aide n'est active qu'en environnement de développement (APP_ENV=dev) ; en production elle répond 404, pour ne jamais exposer les données d'une requête.
Routes
Ajoutez la route dans le groupe public de mvc/routes.py :
# mvc/routes.py
from core.http.router import Router
from mvc.controllers.home_controller import HomeController
from mvc.controllers.welcome_controller import WelcomeController
router = Router()
with router.group("", public=True) as public:
public.add("GET", "/", HomeController.index, name="home-index")
public.add("GET", "/welcome", WelcomeController.index, name="welcome-index")
public.add("GET", "/welcome/hello", WelcomeController.hello, name="welcome-hello")
public.add("GET", "/welcome/html", WelcomeController.html, name="welcome-html")
public.add("GET", "/welcome/article/{id}", WelcomeController.article, name="welcome-article")
public.add("GET", "/welcome/debug", WelcomeController.debug, name="welcome-debug")
Tests
| URL | Résultat |
|---|---|
https://localhost:8000/welcome/debug |
la page de débogage (en APP_ENV=dev) |
https://localhost:8000/welcome/debug?x=1&y=2 |
la même page, avec les paramètres affichés |
À retenir
Response.debug(request.data)est un outil d'inspection pédagogique.- Il n'est disponible qu'en développement ; il répond
404en production. - À n'utiliser que pour comprendre, jamais comme réponse définitive.
Au palier suivant, nous renvoyons des données structurées au format JSON.