json-api-server is a JSON:API server implementation in PHP.
It allows you to define your API's schema, and then use an adapter to connect it to your application's database layer. You don't have to worry about any of the server boilerplate, routing, query parameters, or JSON:API document formatting.
Based on your schema definition, the package will serve a complete JSON:API that conforms to the spec, including support for:
- Showing individual resources (
GET /api/articles/1
) - Listing resource collections (
GET /api/articles
) - Sorting, filtering, pagination, and sparse fieldsets
- Compound documents with inclusion of related resources
- Creating resources (
POST /api/articles
) - Updating resources (
PATCH /api/articles/1
) - Deleting resources (
DELETE /api/articles/1
) - Error handling
The schema definition is extremely powerful and lets you easily apply permissions, transformations, validation, and custom filtering and sorting logic to build a fully functional API with ease.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.