OpenAPIServer
This is a sample server Petstore server. For this sample, you can use the api key special-key to test the authorization filters.
This Symfony bundle is automatically generated by the OpenAPI Generator project:
- API version: 1.0.0
 - Build package: org.openapitools.codegen.languages.PhpSymfonyServerCodegen
 
Requirements
PHP 8.0 and later
Installation & Usage
To install the dependencies via Composer, add the following repository to composer.json of your Symfony project:
{
    "repositories": [{
        "type": "path",
        "url": "//Path to your generated openapi bundle"
    }],
}
Then run:
composer require openapitools/petstore:dev-master
to add the generated openapi bundle as a dependency.
Tests
To run the unit tests for the generated bundle, first navigate to the directory containing the code, then run the following commands:
composer install
./vendor/bin/phpunit
Getting Started
Step 1: Please follow the installation procedure first.
Step 2: Enable the bundle in the bundle configuration:
// app/config/bundles.php
return [
    // ...
    OpenAPI\Server\OpenAPIServerBundle::class => ['all' => true],
];
Step 3: Register the routes:
# app/config/routes.yaml
open_api_server:
    resource: "@OpenAPIServerBundle/Resources/config/routing.yml"
Step 4: Implement the API calls:
<?php
// src/Acme/MyBundle/Api/PetApiInterface.php
namespace Acme\MyBundle\Api;
use OpenAPI\Server\Api\PetApiInterface;
class PetApi implements PetApiInterface // An interface is autogenerated
{
    /**
     * Configure OAuth2 access token for authorization: petstore_auth
     */
    public function setpetstore_auth($oauthToken)
    {
        // Retrieve logged in user from $oauthToken ...
    }
    
    /**
     * Implementation of PetApiInterface#addPet
     */
    public function addPet(Pet $pet, int &$responseCode, array &$responseHeaders): array|object|null
    {
        // Implement the operation ...
    }
    // Other operation methods ...
}
Step 5: Tag your API implementation:
# config/services.yml
services:
    # ...
    Acme\MyBundle\Api\PetApi:
        tags:
            - { name: "open_api_server.api", api: "pet" }
    # ...
Now you can start using the bundle!
Documentation for API Endpoints
All URIs are relative to http://petstore.swagger.io/v2
| Class | Method | HTTP request | Description | 
|---|---|---|---|
| PetApiInterface | addPet | POST /pet | Add a new pet to the store | 
| PetApiInterface | deletePet | DELETE /pet/{petId} | Deletes a pet | 
| PetApiInterface | findPetsByStatus | GET /pet/findByStatus | Finds Pets by status | 
| PetApiInterface | findPetsByTags | GET /pet/findByTags | Finds Pets by tags | 
| PetApiInterface | getPetById | GET /pet/{petId} | Find pet by ID | 
| PetApiInterface | updatePet | PUT /pet | Update an existing pet | 
| PetApiInterface | updatePetWithForm | POST /pet/{petId} | Updates a pet in the store with form data | 
| PetApiInterface | uploadFile | POST /pet/{petId}/uploadImage | uploads an image | 
| StoreApiInterface | deleteOrder | DELETE /store/order/{orderId} | Delete purchase order by ID | 
| StoreApiInterface | getInventory | GET /store/inventory | Returns pet inventories by status | 
| StoreApiInterface | getOrderById | GET /store/order/{orderId} | Find purchase order by ID | 
| StoreApiInterface | placeOrder | POST /store/order | Place an order for a pet | 
| UserApiInterface | createUser | POST /user | Create user | 
| UserApiInterface | createUsersWithArrayInput | POST /user/createWithArray | Creates list of users with given input array | 
| UserApiInterface | createUsersWithListInput | POST /user/createWithList | Creates list of users with given input array | 
| UserApiInterface | deleteUser | DELETE /user/{username} | Delete user | 
| UserApiInterface | getUserByName | GET /user/{username} | Get user by user name | 
| UserApiInterface | loginUser | GET /user/login | Logs user into the system | 
| UserApiInterface | logoutUser | GET /user/logout | Logs out current logged in user session | 
| UserApiInterface | updateUser | PUT /user/{username} | Updated user | 
Documentation For Models
Documentation For Authorization
api_key
- Type: API key
 - API key parameter name: api_key
 - Location: HTTP header
 
petstore_auth
- Type: OAuth
 - Flow: implicit
 - Authorization URL: http://petstore.swagger.io/api/oauth/dialog
 - Scopes:
 - write:pets: modify pets in your account
 - read:pets: read your pets