1. Rejouez la même requête
Relancez l’appel avec -i pour conserver le statut et le type de contenu dans votre observation.
curl -i http://127.0.0.1:8069/training/api/notescurl.exe -i http://127.0.0.1:8069/training/api/notesChaque exécution envoie une nouvelle requête GET. cURL l’envoie au serveur ; Odoo choisit /training/api/notes et renvoie le JSON de cette route.
2. Séparez le statut du corps
Commencez par la première ligne. HTTP/1.1 200 OK indique que la requête a réussi. Repérez ensuite Content-Type: application/json : Odoo annonce que le corps contient du JSON.
Une ligne vide sépare ces informations du corps. Dans ce corps, vérifiez les éléments suivants :
- l’objet racine contient d’abord
notes, puiscount; - les titres correspondent aux enregistrements visibles dans Notes de formation → Notes ;
- chaque objet contient seulement
id,titleetbody; countcorrespond au nombre d’objets renvoyés, dans la limite des vingt notes prévues par la route.
{
"notes": [
{
"id": 12,
"title": "Observer avant de modifier",
"body": "La même note vient maintenant de l’ORM."
}
],
"count": 1
}3. Affichez seulement le corps si nécessaire
Retirez -i lorsque vous avez déjà vérifié le statut et que vous voulez vous concentrer sur le JSON.
curl http://127.0.0.1:8069/training/api/notescurl.exe http://127.0.0.1:8069/training/api/notescURL peut afficher le JSON sur une seule ligne. Cela ne change ni les clés ni les valeurs de la réponse.
4. Diagnostiquez les problèmes locaux les plus probables
- cURL ne peut pas se connecter : vérifiez que le processus Odoo fonctionne et que l’instance du cours écoute bien sur le port
8069. Consultez ses journaux, puis réessayez. - Vous obtenez
404 Not Found: recopiez exactement le chemin/training/api/notes. Un chemin différent ne correspond pas à la route du cours. - La route reste introuvable ou une ancienne réponse apparaît : vérifiez que
controllers/__init__.pycontient bienfrom . import notes_api. Redémarrez ensuite Odoo et attendez que ses journaux indiquent qu’il est prêt.
Ne corrigez pas ce test en ajoutant un en-tête ou une clé. Cette section vérifie volontairement la route anonyme. L’authentification arrive dans la section suivante.
Vous pouvez répéter l’appel, retrouver 200 OK, reconnaître le corps JSON et relier un échec local au processus Odoo, au port, au chemin ou au rechargement du contrôleur.