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 5.4.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 GIT_USER_ID/GIT_REPO_ID: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 kernel:
<?php
// app/AppKernel.php
public function registerBundles()
{
$bundles = array(
// ...
new OpenAPI\Server\OpenAPIServerBundle(),
// ...
);
}
Step 3: Register the routes:
# app/config/routing.yml
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)
{
// Implement the operation ...
}
// Other operation methods ...
}
Step 5: Tag your API implementation:
# src/Acme/MyBundle/Resources/services.yml
services:
# ...
acme.my_bundle.api.pet:
class: 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
auth_cookie
- Type: API key
- API key parameter name: AUTH_KEY
- Location:
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