API Platform Core is an easy-to-use and powerful library for creating hypermedia-driven REST APIs. It is a component of the API Platform framework.
It embraces JSON for Linked Data (JSON-LD) and Hydra Core Vocabulary web standards but also supports OpenAPI (formerly known as Swagger), JSON:API, HAL, XML, JSON, CSV and YAML.
Build a working and fully featured CRUD API in minutes. Leverage the awesome features of the tool to develop complex and high-performance API-first projects.
If you are starting a new project, the easiest way to get API Platform up is to install API Platform using API Platform for Symfony or API Platform for Laravel.
Alternatively, it's possible to bootstrap the API Platform core library manually.
Here is the fully featured REST API you'll get in minutes:
- Automatic CRUD
- Hypermedia (JSON-LD and HAL)
- Machine-readable documentation of the API in the Hydra and Swagger/Open API formats, guessed from PHPDoc, Serializer, Validator, and Doctrine ORM / MongoDB ODM metadata
- Nice human-readable documentation built with Swagger UI (including a sandbox) and/or ReDoc
- Pagination
- A bunch of filters
- Ordering
- Validation using the Symfony Validator Component (with group support)
- Advanced authentication and authorization rules
- Errors serialization (Hydra and the RFC 7807 are supported)
- Advanced serialization thanks to the Symfony Serializer Component (groups support, relation embedding, max depth...)
- Automatic route registration
- Automatic entry point generation giving access to all resources
- User Management using Symfony
- JWT and OAuth support
- Files and
\DateTime
and serialization and deserialization
Everything is fully customizable through a powerful event system and strong OOP.
This bundle is extensively tested (unit and functional). The Fixtures/
directory contains a working app covering all library features.
The easiest and funniest way to learn how to use API Platform for Symfony is to watch the more than 60 screencasts available on SymfonyCasts!