das MyOOS Projekt benötigt eine Rest API
Ich habe mit composer die API Platform-Bibliothek in das Projekt aufgenommen.
Die API Platform-Bibliothek ist eine leistungsstarke und benutzerfreundliche Bibliothek, um hypermedia-getriebene REST-APIs zu erstellen. Sie ist ein Bestandteil des API Platform-Frameworks, das auch JavaScript-Tools für die Erstellung von Web- und mobilen Anwendungen basierend auf den beliebtesten Frontend-Technologien bietet.
Da wir Symfony verwenden, können wir die API Platform-Bibliothek als Bundle installieren und in unserem Open Source Projekt nutzen. Wir können dann unsere PHP-Klassen als API-Ressourcen annotieren und API Platform wird automatisch die entsprechenden Endpunkte, Dokumentationen und Validierungen generieren. Wir können auch die API Platform-Bibliothek verwenden, um GraphQL-APIs zu erstellen oder unseren zukünftigen bestehenden Symfony-Controller als API-Operationen zu registrieren.
Wir können dann das API Platform-Bundle in unserem Shop aktivieren, indem wir es der bundles.php-Datei hinzufügen:
Code: Alles auswählen
<?php
return [
// ...
ApiPlatform\Core\Bridge\Symfony\Bundle\ApiPlatformBundle::class => ['all' => true],
];
Code: Alles auswählen
<?php
// src/Entity/Book.php
namespace App\Entity;
use ApiPlatform\Core\Annotation\ApiResource;
use Doctrine\ORM\Mapping as ORM;
/**
* A book.
*
* @ORM\Entity
* @ApiResource
*/
class Book
{
/**
* The id of this book.
*
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* The title of this book.
*
* @ORM\Column
*/
public $title;
/**
* The author of this book.
*
* @ORM\Column
*/
public $author;
// ...
}
Wir können die `@ApiResource`-Annotation verwenden, um verschiedene Optionen für unsere Ressource anzugeben, wie z.B. welche HTTP-Methoden erlaubt sind, welche Serialisierungsgruppen verwendet werden sollen, welche Filter angewendet werden sollen usw. Wir können auch benutzerdefinierte Operationen für unsere Ressource definieren, indem wir die `@ApiResource`-Annotation oder die `@ApiProperty`-Annotation für einzelne Eigenschaften verwenden².
Um mehr über die API Platform-Bibliothek zu erfahren, empfehle ich die offizielle Dokumentation zu lesen. Dort finden sich viele Beispiele, Anleitungen und Referenzen, um uns zu helfen, die API zu erstellen und anzupassen.
The API Platform Core Library - API Platform. https://api-platform.com/docs/core/.
API Platform Documentation - API Platform. https://api-platform.com/docs/.
API Platform Documentation - API Platform. https://api-platform.com/docs/.
API Platform. https://api-platform.com/.