Julian Vennen 6bd3d53eee
[PHP/Dart/Python] Correctly escape strings in single quotes (Fixes #17582) (#19529)
* [PHP/Dart/Python] Correctly escape strings in single quotes (Fixes #17582)

* Move escapeTextInSingleQuotes method to DefaultCodegen, add docblock
2024-11-09 16:50:12 +08:00
..
2018-05-09 10:34:19 +08:00
2024-10-08 11:21:54 +08:00

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
  • Generator version: 7.10.0-SNAPSHOT
  • 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.yaml"

Step 4: Implement the API calls:

<?php
// src/Acme/MyBundle/Api/PetApi.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.yaml
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

Authentication schemes defined for the API:

petstore_auth

api_key

  • Type: API key
  • API key parameter name: api_key
  • Location: HTTP header

Author