API Platform Documentation
The Distribution: Create Powerful APIs with Ease
The API Component
- The API Platform Core Library
- Getting started
- General Design Considerations
- Extending API Platform
- Testing Utilities
- Operations
- GraphQL Support
- Enabling GraphQL
- Changing Location of the GraphQL Endpoint
- GraphiQL
- GraphQL Playground
- Modifying or Disabling the Default IDE
- Request with application/graphql Content-Type
- Operations
- Queries
- Mutations
- Subscriptions
- Workflow of the Resolvers
- Events
- Filters
- Pagination
- Security
- Serialization Groups
- Exception and Error
- Name Conversion
- Custom Types
- Modify the Extracted Types
- Changing the Serialization Context Dynamically
- Export the Schema in SDL
- Handling File Upload
- Change Default Descriptions
- Data Providers
- Data Persisters
- Filters
- Subresources
- The Serialization Process
- Overall Process
- Available Serializers
- The Serialization Context, Groups and Relations
- Using Serialization Groups
- Using Serialization Groups per Operation
- Embedding Relations
- Calculated Field
- Changing the Serialization Context Dynamically
- Changing the Serialization Context on a Per-item Basis
- Name Conversion
- Decorating a Serializer and Adding Extra Data
- Entity Identifier Case
- Embedding the JSON-LD Context
- Collection Relation
- Validation
- Security
- Content Negotiation
- Pagination
- Deprecating Resources and Properties (Alternative to Versioning)
- Overriding Default Order
- Performance and Cache
- Extensions
- Symfony Messenger Integration: CQRS and Async Message Processing
- Using Data Transfer Objects (DTOs)
- OpenAPI Specification Support (formerly Swagger)
- Using the OpenAPI Command
- Overriding the OpenAPI Specification
- Using the OpenAPI and Swagger Contexts
- Changing the Name of a Definition
- Changing Operations in the OpenAPI Documentation
- Changing the Location of Swagger UI
- Using a custom Asset Package in Swagger UI
- Overriding the UI Template
- Compatibility Layer with Amazon API Gateway
- OAuth
- Info Object
- JSON Schema Support
- Creating Async APIs using the Mercure Protocol
- Pushing Related Resources Using HTTP/2
- Errors Handling
- Using External Vocabularies
- Operation Path Naming
- Extending JSON-LD AND Hydra Contexts
- Identifiers
- MongoDB Support
- Elasticsearch Support
- Creating Custom Operations and Controllers
- The Event System
- Handling File Upload
- JWT Authentication
- Accept application/x-www-form-urlencoded Form Data
- AngularJS Integration
- FOSUserBundle Integration
- NelmioApiDocBundle Integration
- Bootstraping the core library
- Configuration
The Schema Generator Component
- The Schema Generator
- Getting Started
- Configuration
- Customizing PHP Namespaces
- Forcing a Field Range
- Forcing a Field Cardinality
- Forcing a Relation Table Name
- Forcing (or Disabling) a Class Parent
- Forcing a Class to be Abstract
- Forcing a Nullable Property
- Forcing a Unique Property
- Making a Property Read-Only
- Making a Property Write-Only
- Forcing a Property to be in a Serialization Group
- Forcing an Embeddable Class to be Embedded
- Author PHPDoc
- Disabling Generators and Creating Custom Ones
- Skipping Accessor Method Generation
- Disabling the id Generator
- Generating UUIDs
- User submitted UUIDs
- Generating Custom IDs
- Disabling Usage of Doctrine Collections
- Changing the Field Visibility
- Generating @Assert\Type Annotations
- Forcing Doctrine Inheritance Mapping Annotation
- Interfaces and Doctrine Resolve Target Entity Listener
- Custom Schemas
- Checking GoodRelation Compatibility
- PHP File Header
- Full Configuration Reference