Skip to content

Latest commit

 

History

History
170 lines (156 loc) · 11 KB

index.md

File metadata and controls

170 lines (156 loc) · 11 KB

API Platform documentation

The Distribution: Create Powerful APIs with Ease

  1. Creating a Fully Featured API in 5 Minutes
  2. Testing and Specifying the API

The API Component

  1. Introduction
  2. Getting Started
    1. Installing API Platform Core
    2. Before Reading this Documentation
    3. Mapping the Entities
  3. General Design Considerations
  4. Configuration
  5. Operations
    1. Enabling and Disabling Operations
    2. Configuring Operations
    3. Subresources
    4. Creating Custom Operations and Controllers
      1. Recommended Method
      2. Alternative Method
  6. Overriding Default Order
  7. Filters
    1. Doctrine ORM Filters
      1. Search Filter
      2. Date Filter
        1. Managing null Values
      3. Boolean Filter
      4. Numeric Filter
      5. Range Filter
      6. Exists Filter
      7. Order filter
        1. Using a Custom Order Query Parameter Name
      8. Filtering on Nested Properties
      9. Enabling a Filter for All Properties of a Resource
    2. Serializer Filters
      1. Group Filter
      2. Property Filter
    3. Creating Custom Filters
      1. Creating Custom Doctrine ORM Filters
        1. Using Doctrine Filters
      2. Overriding Extraction of Properties from the Request
    4. ApiFilter Annotation
  8. The Serialization Process
    1. Overall Process
    2. Available Serializers
    3. The Serialization Context, Groups and Relations
      1. Configuration
    4. Using Serialization Groups
    5. Using Different Serialization Groups per Operation
      1. Embedding Relations
      2. Normalization
      3. Denormalization
    6. Changing the Serialization Context Dynamically
    7. Changing the Serialization Context on a Per Item Basis
    8. Name Conversion
    9. Decorating a Serializer and Add Extra Data
    10. Entity Identifier Case
    11. Embedding the JSON-LD Context
  9. Validation
    1. Using Validation Groups
    2. Using Validation Groups on operations
    3. Dynamic Validation Groups
    4. Error Levels and Payload Serialization
  10. Error Handling 1. Converting PHP Exceptions to HTTP Errors
  11. Pagination 1. Disabling the Pagination 2. Changing the Number of Items per Page 3. Partial Pagination
  12. The Event System
  13. Content Negotiation
    1. Enabling Several Formats
    2. Registering a Custom Serializer
    3. Creating a Responder
    4. Writing a Custom Normalizer
  14. Using External JSON-LD Vocabularies
  15. Extending JSON-LD context
  16. Data Providers
    1. Custom Collection Data Provider
    2. Custom Item Data Provider
    3. Injecting the Serializer in an ItemDataProvider
  17. Data Persisters
  18. Extensions
    1. Custom Extension
    2. Filter upon the current user
  19. Security
  20. Performance
    1. Enabling the Built-in HTTP Cache Invalidation System
    2. Enabling the Metadata Cache
    3. Using PPM (PHP-PM)
    4. Doctrine Queries and Indexes
      1. Search Filter
      2. Eager Loading
        1. Max Joins
        2. Force Eager
        3. Override at Resource and Operation Level
        4. Disable Eager Loading
      3. Partial Pagination
  21. Operation Path Naming
    1. Configuration
    2. Create a Custom Operation Path Naming
      1. Defining the Operation Path Naming
      2. Registering the Service
      3. Configure it
  22. Accept application/x-www-form-urlencoded Form Data
  23. FOSUserBundle Integration
    1. Installing the Bundle
    2. Enabling the Bridge
    3. Creating a User Entity with Serialization Groups
  24. Adding a JWT authentication using LexikJWTAuthenticationBundle
    1. Testing with Swagger
    2. Testing with Behat
  25. NelmioApiDocBundle integration
  26. AngularJS Integration
    1. Restangular
    2. ng-admin
  27. Swagger Support
    1. Override Swagger documentation
  28. GraphQL Support
    1. Overall View
    2. Enabling GraphQL
    3. GraphiQL
  29. Handling Data Transfer Objects (DTOs)
  30. Handling File Upload with VichUploaderBundle

The Schema Generator Component: Generate Data Models from Open Vocabularies

  1. Introduction
  2. Getting Started
  3. Configuration

The Admin Component: Create a Fancy and Fully Featured Administration Interface

  1. Introduction
    1. Features
  2. Getting Started
    1. Installation
    2. Creating the Admin
    3. Customizing the Admin
      1. Using Custom Components
      2. Managing Files and Images
      3. Using a Custom Validation Function or Inject Custom Props
  3. Authentication Support
  4. Handling Relations to Collections
    1. Using an Autocomplete Input for Relations

The Client Generator Component: Scaffold Progressive Web Apps and Native Apps

  1. Introduction
    1. Features
  2. React generator
  3. Vue.js generator
  4. Troubleshooting

Deployment

  1. Introduction
  2. Deploying to a Kubernetes Cluster
  3. Deploying an API Platform App on Heroku

Extra

  1. The Release Process
  2. The Project's Philosophy
  3. Troubleshooting
  4. Contribution Guides
  5. Contributor Code Of Conduct