Kilka słów o API Platform
Obecnie wymiana danych między zewnętrznymi systemami jest niezbędnym elementem wszelkich aplikacji. Udostępnianie danych oraz możliwość ich modyfikacji jest możliwa między innymi dzięki API, czyli pewnemu ściśle określonemu zestawowi reguł i ich opisów, w jaki programy komputerowe komunikują się między sobą. Jest to chyba najbardziej znany, bezpieczny oraz optymalny sposób. Jest to przeważnie API oparte o styl architektoniczny REST.
Takie API musi być przede wszystkim zrozumiałe i czytelne dla wszystkich, którzy będą z niego korzystali. Interfejs API powinien mieć dobrą dokumentację, najlepiej z przykładami. W celu stworzenia API wraz z wartościową dokumentacją można skorzystać np. z API Platform.
API Platform
API Platform zostało utworzone w roku 2015 przez Kevina Dunglasa. Zawiera bibliotekę PHP. Jest to narzędzie oparte na frameworku PHP Symfony.
Jak szybko stworzyć API?
Poniżej przykład jak stworzyć API z użyciem API Platform dla prostego modelu CRUD.
1. Projekt tworzymy poprzez polecenie
composer create-project symfony/skeleton nazwa-projektu
Utworzy nam to folder z nazwą projektu oraz zainstaluje pierwsze niezbędne paczki. symfony/skeleton to minimalna opcja projektu, która instaluje tylko zależności niezbędne do działania Symfony.
2. Następnie odpalamy polecenie:
composer require api
które instaluje nam właśnie API Platform.
3. Teraz dla przykładu możemy sobie w katalogu Entity utworzyć prosty model, np. User.php.
<?php namespace App\Entity; use ApiPlatform\Core\Annotation\ApiResource; /** * @ApiResource */ class User { /** @var string */ private $id; /** @var string */ private $firstName; /** @var string */ private $lastName; /** @var string */ private $email; public function __construct( string $id, string $firstName, string $lastName, string $email ) { $this->id = $id; $this->firstName = $firstName; $this->lastName = $lastName; $this->email = $email; } public function getId(): string { return $this->id; } public function getFirstName(): string { return $this->firstName; } public function getLastName(): string { return $this->lastName; } public function getEmail(): string { return $this->email; } }
4. Pod adresem http://127.0.0.1:8000/api mamy już gotową dokumentację API wraz z możliwością wysyłania requestów.
Zalety
– szybkość
– nie powtarzanie tego samego kodu w wielu miejscach
– jasna i przejrzysta dokumentacja z możliwością requestów
Jest to tylko bardzo krótki opis, gdyż API Platform posiada o wiele więcej możliwości. Są to między innymi:
– tworzenie, pobieranie, aktualizowanie i usuwanie zasobów (CRUD)
– walidacja danych
– stronicowanie
– filtrowanie
– hypermedia (JSON-LD, HAL)
– GraphQL
– Nagłówki CORS
– wsparcie dla JWT
Źródła: https://api-platform.com/docs
Autorem tekstu jest Piotr Smaruj.
Dodaj komentarz