Comme au chapitre précédent, nous utiliserons le package http-foundation. Cette fois ci nous utiliserons plus particulièrement le composant fonction Response
Installation
composer require symfony/http-foundation
Composant Response
Avant d'en venir aux détails de ce qu'apporte le composant Response de symfony, faisons un rappel sur les principaux éléments d'une réponse HTTP.
Le but de la réponse est de fournir au client :
- la ressource qu'il a demandée,
- ou d'informer le client que l'action qu'il a demandée a été réalisée (via le statut de la réponse);
- ou d'informer le client qu'une erreur s'est produite dans le traitement de sa demande.
La ressource demandée va se retrouver dans le corps de la réponse
Les informations méta se trouvent dans l'entête de la réponse.
Ex d'entête :
Request URL: http://local.mvc.my/api/cards Request Method: GET Status Code: 200 OK Remote Address: 127.0.0.1:80 Referrer Policy: no-referrer-when-downgrade
Cache-Control: no-cache, private
Connection: close
Content-Length: 272
Content-Type: application/json
Date: Fri, 25 Sep 2020 09:12:42 GMT
Server: Apache/2.4.29 (Ubuntu)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7
Cache-Control: max-age=0
Connection: keep-alive
Host: local.mvc.my
Upgrade-Insecure-Requests:
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36
Ex de corps de la réponse (ici json)
[ { "c_id": 1, "c_question": "Nom de l'inventeur du web ?", "c_answer": "Tim Berners-Lee", "u_id": 1 }, { "c_id": 2, "c_question": "Que veut dire HTML ?", "c_answer": "HyperText Markup Language", "u_id": 1 }, { "c_id": 3, "c_question": "Date de création du web ?", "c_answer": "1991", "u_id": 1 } ]