forked from loafle/openapi-generator-original
* Fix PHP Symfony OpenAPI 3.0 sample location * Update PHP Symfony OpenAPI 3.0 sample
This commit is contained in:
committed by
William Cheng
parent
581131e0fe
commit
ed82aaae97
@@ -0,0 +1,190 @@
|
||||
# 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](https://symfony.com/) bundle is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) 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](http://getcomposer.org/), add the following repository to `composer.json` of your Symfony project:
|
||||
|
||||
```json
|
||||
{
|
||||
"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](#installation--usage) first.
|
||||
|
||||
Step 2: Enable the bundle in the kernel:
|
||||
|
||||
```php
|
||||
<?php
|
||||
// app/AppKernel.php
|
||||
|
||||
public function registerBundles()
|
||||
{
|
||||
$bundles = array(
|
||||
// ...
|
||||
new OpenAPI\Server\OpenAPIServerBundle(),
|
||||
// ...
|
||||
);
|
||||
}
|
||||
```
|
||||
|
||||
Step 3: Register the routes:
|
||||
|
||||
```yaml
|
||||
# app/config/routing.yml
|
||||
open_api_server:
|
||||
resource: "@OpenAPIServerBundle/Resources/config/routing.yml"
|
||||
```
|
||||
|
||||
Step 4: Implement the API calls:
|
||||
|
||||
```php
|
||||
<?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:
|
||||
|
||||
```yaml
|
||||
# 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**](Resources/docs/Api/PetApiInterface.md#addpet) | **POST** /pet | Add a new pet to the store
|
||||
*PetApiInterface* | [**deletePet**](Resources/docs/Api/PetApiInterface.md#deletepet) | **DELETE** /pet/{petId} | Deletes a pet
|
||||
*PetApiInterface* | [**findPetsByStatus**](Resources/docs/Api/PetApiInterface.md#findpetsbystatus) | **GET** /pet/findByStatus | Finds Pets by status
|
||||
*PetApiInterface* | [**findPetsByTags**](Resources/docs/Api/PetApiInterface.md#findpetsbytags) | **GET** /pet/findByTags | Finds Pets by tags
|
||||
*PetApiInterface* | [**getPetById**](Resources/docs/Api/PetApiInterface.md#getpetbyid) | **GET** /pet/{petId} | Find pet by ID
|
||||
*PetApiInterface* | [**updatePet**](Resources/docs/Api/PetApiInterface.md#updatepet) | **PUT** /pet | Update an existing pet
|
||||
*PetApiInterface* | [**updatePetWithForm**](Resources/docs/Api/PetApiInterface.md#updatepetwithform) | **POST** /pet/{petId} | Updates a pet in the store with form data
|
||||
*PetApiInterface* | [**uploadFile**](Resources/docs/Api/PetApiInterface.md#uploadfile) | **POST** /pet/{petId}/uploadImage | uploads an image
|
||||
*StoreApiInterface* | [**deleteOrder**](Resources/docs/Api/StoreApiInterface.md#deleteorder) | **DELETE** /store/order/{orderId} | Delete purchase order by ID
|
||||
*StoreApiInterface* | [**getInventory**](Resources/docs/Api/StoreApiInterface.md#getinventory) | **GET** /store/inventory | Returns pet inventories by status
|
||||
*StoreApiInterface* | [**getOrderById**](Resources/docs/Api/StoreApiInterface.md#getorderbyid) | **GET** /store/order/{orderId} | Find purchase order by ID
|
||||
*StoreApiInterface* | [**placeOrder**](Resources/docs/Api/StoreApiInterface.md#placeorder) | **POST** /store/order | Place an order for a pet
|
||||
*UserApiInterface* | [**createUser**](Resources/docs/Api/UserApiInterface.md#createuser) | **POST** /user | Create user
|
||||
*UserApiInterface* | [**createUsersWithArrayInput**](Resources/docs/Api/UserApiInterface.md#createuserswitharrayinput) | **POST** /user/createWithArray | Creates list of users with given input array
|
||||
*UserApiInterface* | [**createUsersWithListInput**](Resources/docs/Api/UserApiInterface.md#createuserswithlistinput) | **POST** /user/createWithList | Creates list of users with given input array
|
||||
*UserApiInterface* | [**deleteUser**](Resources/docs/Api/UserApiInterface.md#deleteuser) | **DELETE** /user/{username} | Delete user
|
||||
*UserApiInterface* | [**getUserByName**](Resources/docs/Api/UserApiInterface.md#getuserbyname) | **GET** /user/{username} | Get user by user name
|
||||
*UserApiInterface* | [**loginUser**](Resources/docs/Api/UserApiInterface.md#loginuser) | **GET** /user/login | Logs user into the system
|
||||
*UserApiInterface* | [**logoutUser**](Resources/docs/Api/UserApiInterface.md#logoutuser) | **GET** /user/logout | Logs out current logged in user session
|
||||
*UserApiInterface* | [**updateUser**](Resources/docs/Api/UserApiInterface.md#updateuser) | **PUT** /user/{username} | Updated user
|
||||
|
||||
|
||||
## Documentation For Models
|
||||
|
||||
- [ApiResponse](Resources/docs/Model/ApiResponse.md)
|
||||
- [Category](Resources/docs/Model/Category.md)
|
||||
- [InlineObject](Resources/docs/Model/InlineObject.md)
|
||||
- [InlineObject1](Resources/docs/Model/InlineObject1.md)
|
||||
- [Order](Resources/docs/Model/Order.md)
|
||||
- [Pet](Resources/docs/Model/Pet.md)
|
||||
- [Tag](Resources/docs/Model/Tag.md)
|
||||
- [User](Resources/docs/Model/User.md)
|
||||
|
||||
|
||||
## 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
|
||||
|
||||
|
||||
## Author
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user