API PLATFORM
24 Aout 2022
Technical meeting
PLAN / SOMMAIRE
• Introduction
• Problématique
• Solution
• Installation
• Prise en main
• Démo
Introduction
Une api est une interface de programmation qui
permet de mettre en relation un programme avec un
autre.
Problématique
Solution: API PLATFORM
API Platform est un framework complet puissant mais facile à utiliser.
API Platform contient une bibliothèque PHP (Core) pour créer des API Web.
API Platform est développée et maintenue par une entreprise française, Les
tilleuls coop.
Ils utilisent API PLATFORM
Les composants
API Platform Core
Fonctionnalités:
CRUD automatique
Hypermédia (JSON-LD et HAL)
Documentation Swagger/Open API
Pagination
Filtre
Tri
Validation à l'aide du composant Symfony Validator
Sérialisation avancée grâce au composant Symfony Serializer
Enregistrement automatique des routes
Prise en charge de JWT et Oauth
Tout est entièrement personnalisable grâce à un système d'événements puissant et à une POO puissante.
Installation: Méthode 1
Prérequis: tout ce qu’on a besoin est Docker
1. Télécharger la dernière version de API-PLATFORM: [Link]
2. docker-compose up –d
Installation: Méthode 2
Prérequis: PHP et (Symfony CLI ou Composer)
• Avec Symfony CLI
$ symfony new rest-api
• Ou avec Composer
$ composer create-project symfony/skeleton rest-api
Maintenant que nous avons installer Symfony, nous pouvons installer API Platform avec composer:
$ cd rest-api
$ composer require api
[Link]
Prise en main
Commandes et Annotations Description
make:entity Créer/modifier une entité
make:migration Générer une migration BDD
doctrine:migrations:migrate Mettre à jour le schéma de la BDD
@ORM\Entity Marquer une classe comme entité
@ORM\Column Marquer une propriété comme un champs de BDD
@ORM\ManyToOne Définir une relation entre deux entités
@ApiRessource Définir une classe comme ressource API
@ApiProperty Définir un identifier d’une ressource API
@ApiFilter Définir un filtre pour une ressource API
@Assert Définir un validateur sur une classe, propriété..
@Groups Définir un groupe de sérialisation
Démo