arekushi/swagger-php-module
Composer 安装命令:
composer require arekushi/swagger-php-module
包简介
Swagger-PHP module adapted for mezzio and laminas.
README 文档
README
Description
Swagger PHP module adapted for Mezzio/Laminas.
Requirements
- PHP >8.1
- Mezzio\Template\TemplateRendererInterface
Installation
The preferred way to install this wrapper is through composer.
composer require arekushi/swagger-php-module:dev-main --ignore-platform-reqs
Setup
After installation of the package, you need to complete the following steps to use PHP Swagger module:
- Add
\Genxoft\SwaggerPhpModule\ConfigProvider::classto your config aggregator - Add and customize (if necessary) configuration (add file
php-swagger.global.phpintoconfig/autoload)
<?php return [ 'swagger_php' => [ 'scanDirs' => [ __DIR__ . '/module' ], 'jsonUrl' => '/api-oas-docs/json', ], 'routes' => [ 'swagger_php.route.json' => [ 'path' => '/api-oas-docs/json', 'middleware' => [ \Genxoft\SwaggerPhpModule\Handler\JsonAction::class, ], 'allowed_methods' => ['GET'], ], 'swagger_php.route.ui' => [ 'path' => '/api-oas-docs/ui', 'middleware' => [ \Genxoft\SwaggerPhpModule\Handler\UiAction::class, ], 'allowed_methods' => ['GET'], ], ], ];
Open Api Swagger 3 example annotation
Api server description
/** * @OA\Info( * version="1.0", * title="Application API", * description="Server - Mobile app API", * @OA\Contact( * name="John Smith", * email="john@example.com", * ), * ), * @OA\Server( * url="https://example.com/api", * description="main server", * ) * @OA\Server( * url="https://dev.example.com/api", * description="dev server", * ) */ ...
Handler annotation
/** * @OA\Get(path="/", * summary="Handshake", * tags={"handshake"}, * @OA\Parameter( * name="access-token", * in="header", * required=false, * @OA\Schema( * type="string" * ) * ), * @OA\Response( * response=200, * description="Returns Hello object", * @OA\MediaType( * mediaType="application/json", * @OA\Schema(ref="#/components/schemas/Hello"), * ), * ), * ) */ class HelloHandler implements RequestHandlerInterface { ...
Model annotation
/** *@OA\Schema( * schema="Hello", * @OA\Property( * property="message", * type="string", * description="Text message" * ), * @OA\Property( * property="time", * type="integer", * description="Server current Unix time" * ), * @OA\Property( * property="date", * type="string", * format="date-time", * description="Server current date time" * ) *) */ class HelloModel { ...
Screenshot
Donate
LICENSE
This curl wrapper is released under the MIT license.
统计信息
- 总下载量: 11
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-10-06
