Vous êtes sur la page 1sur 13

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: api-platform.com

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


https://localhost
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 

Vous aimerez peut-être aussi