Chapitre 5 du parcours Symfony pour les devs PHP

Les parchemins magiques

6 exercices · 1 430 XP · environ 4 h 30

Ce chapitre fait travailler : API JSON$this->json()Serializer#[Groups]#[Groups] sur une méthode#[Context]format: 'json'Problem JSONPOST JSONDTO#[MapRequestPayload]201 / 400 / 422access_tokenPare-feu sans étatAccessTokenHandlerInterface401#[MapQueryString]EnumQueryBuildervalidationFailedStatusCodeDébogagePare-feuFuite de données

Les exercices du chapitre

  1. La carte sur parchemin

    Exercice 1 · 200 XP · 5 objectifs vérifiés par des tests

    La Guilde des Aventuriers vient d'équiper ses membres de parchemins magiques : on y consulte les tavernes de la région, on y réserve sa table… Gorm veut que le Dragon Ivre y figure. Seulement, les parchemins ne lisent pas le HTML : ils parlent JSON.

    API JSON$this->json()Serializer#[Groups]

  2. Un plat à la demande

    Exercice 2 · 220 XP · 5 objectifs vérifiés par des tests

    Les aventuriers adorent la carte sur leur parchemin. Maintenant, ils veulent savoir ce que les autres pensent d'un plat avant de le commander (Gimli ne jure que par ça).

    #[Groups] sur une méthode#[Context]format: 'json'Problem JSON

  3. Réserver par pigeon

    Exercice 3 · 240 XP · 5 objectifs vérifiés par des tests

    Grande nouvelle : les parchemins peuvent maintenant envoyer des messages. Plus besoin de traverser la forêt pour réserver sa table, un pigeon magique s'en charge. Il apporte un JSON comme celui-ci :

    POST JSONDTO#[MapRequestPayload]201 / 400 / 422

  4. Le sceau de la guilde

    Exercice 4 · 250 XP · 5 objectifs vérifiés par des tests

    Catastrophe : un petit malin a réservé toutes les tables du Dragon Ivre pour les dix prochaines années, sous le nom de « Sauron ». N'importe qui peut envoyer un pigeon, c'est bien le problème.

    access_tokenPare-feu sans étatAccessTokenHandlerInterface401

  5. Filtrer la carte

    Exercice 5 · 240 XP · 5 objectifs vérifiés par des tests

    Le Cercle des Mages est au régime : « Rien au-dessus de 4 pièces d'or, et seulement des boissons, merci. » Plutôt que de télécharger toute la carte et de trier eux-mêmes, les parchemins veulent filtrer :

    #[MapQueryString]EnumQueryBuildervalidationFailedStatusCode

  6. 🐉 Boss : le pigeon égaré

    Exercice 6 · 280 XP · 4 objectifs vérifiés par des tests

    Pipin revient d'une formation accélérée, « Les parchemins en trois jours ». Il a « simplifié » deux-trois choses dans l'API.

    DébogagePare-feu#[Groups]Fuite de données