danthedev / laravel-typescript-transformer-api
是 `spatie/laravel-typescript-transformer` 的扩展,改进了与 API 请求和响应一起工作的功能
v1.3.0
2023-02-23 13:17 UTC
Requires
- php: ^8.1
- laravel/framework: ^10.0
- spatie/laravel-data: ^2.2
- spatie/laravel-typescript-transformer: ^2.1
Requires (Dev)
- phpstan/phpstan: ^1.9
- phpunit/phpunit: ^10.0
This package is auto-updated.
Last update: 2024-09-23 16:52:09 UTC
README
此包是 spatie/laravel-typescript-transformer
的扩展,提供两对收集器和转换器,可用于通过 php artisan typescript:transform
命令与 spatie/laravel-typescript-transformer
一起使用
- 请求集允许您将 Illuminate\Http\Request 或 Illuminate\Foundation\Http\FormRequest 的所有子类转换 - 要实现这一点,您需要
- 请求收集器 (\Danthedev\LaravelTypescriptTransformerApi\Collectors\RequestCollector)
- 请求转换器 (\Danthedev\LaravelTypescriptTransformerApi\Transformers\RequestTransformer)
- 响应集允许您将 Illuminate\Http\Response 的所有子类转换 - 要实现这一点,您需要
- 响应收集器 (\Danthedev\LaravelTypescriptTransformerApi\Collectors\ResponseCollector)
- 响应转换器 (\Danthedev\LaravelTypescriptTransformerApi\Transformers\ResponseTransformer)
您可以通过 composer 安装此包
composer require danthedev/laravel-typescript-transformer-api
需求
* laravel 9+
* Php 8.1+
* spatie/laravel-typescript-transformer: ^2.1 [https://github.com/spatie/laravel-typescript-transformer]
用法
通过扩展 Illuminate 类的 Request 和 Response 来构建您的 Api,然后自动将它们转换为 Typescript 类型。
将收集器和转换器应用于您的 typescript-transformer.php
配置文件(我们建议您将它们放在 spatie/laravel-typescript-transformer
收集器和转换器之前 - 顺序不重要)。
// config/typescript-transformer.php return [ // ... 'collectors' => [ \Danthedev\LaravelTypescriptTransformerApi\Collectors\RequestCollector::class, \Danthedev\LaravelTypescriptTransformerApi\Collectors\ResponseCollector::class, // ... ], 'transformers' => [ \Danthedev\LaravelTypescriptTransformerApi\Transformers\RequestTransformer::class, \Danthedev\LaravelTypescriptTransformerApi\Transformers\ResponseTransformer::class, // ... ], // ... ];
运行命令 php artisan typescript:transform
以将您的所有 Api 请求和响应对象转换为 Typescript 类型。
测试
composer test
变更日志
请参阅 CHANGELOG 了解最近更改的更多信息。
贡献
请参阅 CONTRIBUTING 了解详细信息。
致谢
许可
MIT 许可证 (MIT)。请参阅 许可文件 了解更多信息。