Différences entre les versions de « Programmation PHP/Symfony/API »

</syntaxhighlight>
 
==== DocDocumentation ====
Toute API doit exposer sa documentation avec ses routes et leurs paramètres. NelmioApiDocBundle est un de générateur de documentation automatique à partir du code<ref>https://github.com/nelmio/NelmioApiDocBundle</ref>, qui permet en plus de tester en ligne. En effet, pour éviter de tester les API en copiant-collant leurs chemins dans une commande {{w|cURL}} ou dans des logiciels plus complets comme Postman<ref>https://www.postman.com/</ref>, on peut installer une interface graphique ergonomique qui allie documentation et test en ligne :
<syntaxhighlight lang=bash>
</syntaxhighlight>
 
A ce stade l'URL /api/doc affiche juste un lien ''NelmioApiDocBundle''. Mais si les contrôleurs d'API sont identifiés dans annotations.yaml (avec un préfixe "api"), on peut voir une liste automatique de toutes leurs routes.
 
===== Authentification =====
Pour tester depuis la documentation des routes nécessitant un token JWT, ajouter dans packages/nelmio_api_doc.yaml :
<syntaxhighlight lang=yaml>
nelmio_api_doc:
documentation:
securityDefinitions:
Bearer:
type: apiKey
description: 'Value: Bearer {jwt}'
name: Authorization
in: header
security:
- Bearer: []
</syntaxhighlight>
Il devient alors possible de renseigner le token avant de tester.
 
==== Sérialiseur ====