api-scout / api-scout
一个包含一些工具的库,用于自动文档化您的API
V0.1.1
2023-10-15 19:50 UTC
Requires
- php: >=8.2
- ext-ctype: *
- ext-iconv: *
- symfony/expression-language: 6.3.*
- symfony/http-foundation: 6.3.*
- symfony/http-kernel: 6.3.*
- symfony/mime: 6.3.*
- symfony/property-access: 6.3.*
- symfony/property-info: 6.3.*
- symfony/serializer: 6.3.*
- willdurand/negotiation: ^3.1
Requires (Dev)
- bamarni/composer-bin-plugin: ^1.8
- beberlei/assert: ^3.3
- behat/behat: ^3.13
- behat/mink: ^1.10
- doctrine/doctrine-bundle: ^2.10
- doctrine/orm: ^2.16
- friends-of-behat/mink-browserkit-driver: ^1.6
- friends-of-behat/mink-extension: ^2.7
- friends-of-behat/symfony-extension: ^2.4
- phpunit/phpunit: ^9.3
- ramsey/uuid: ^4.7
- symfony/asset: 6.3.*
- symfony/console: 6.3.*
- symfony/doctrine-bridge: 6.3.*
- symfony/dotenv: 6.3.*
- symfony/flex: ^2.3
- symfony/framework-bundle: 6.3.*
- symfony/http-client: 6.3.*
- symfony/intl: 6.3.*
- symfony/phpunit-bridge: ^6.3
- symfony/process: 6.3.*
- symfony/routing: 6.3.*
- symfony/runtime: 6.3.*
- symfony/twig-bundle: 6.3.*
- symfony/uid: 6.3.*
- symfony/validator: 6.3.*
- symfony/yaml: 6.3.*
- twig/twig: ^3.6
Suggests
- ramsey/uuid: To support Ramsey's UUID identifiers.
- symfony/asset: To support Symfony assets
- symfony/twig-bundle: To use the Swagger UI integration.
- symfony/uid: To support Symfony UUID/ULID identifiers.
Conflicts
This package is not auto-updated.
Last update: 2024-09-27 17:03:48 UTC
README
简介
本包使用Symfony 序列化器
- 享受自动生成 Swagger API文档的魔法
- MapRequestPayload 和 MapQueryString 以反序列化您的请求
- 通过将对象返回给控制器来自动序列化响应
- 提供优雅的Symfony 验证响应
- 一个分页工具,帮助您处理集合
ApiScout将大大帮助您开发API,无需重新发明轮子
您可以选择使用这些工具,也可以选择不使用它们,无需与ApiScout抗争。
安装
composer require api-scout/api-scout
<?php # config/bundles.php return [ // ... ApiScout\Bridge\Symfony\Bundle\ApiScoutBundle::class => ['all' => true] ];
# config/routes.yaml api_scout_swagger_ui: path: /api/docs.{_format} controller: api_scout.swagger_ui.action methods: GET format: html
使用
使用以下任一可用的属性方法:
<?php namespace ApiScout\Controller; use ApiScout\Attribute\Get; final class GetBookController { #[Get('/books')] public function __invoke(string $id): BookOutput { return new BookOutput( 'PHPStan', 'There is only one level with PHPStan. The level max.' ); } }
您的API规范现在可在以下位置获取:/api/docs
方法
OpenApi
高级
迁移到Api-Scout
贡献
欢迎提交拉取请求。对于重大更改,请先创建一个问题来讨论您想要更改的内容。
请确保根据需要更新测试。有关更多信息,请参阅贡献指南
致谢
由 Marvin Courcier 创建。
本库由 Alximy 赞助。