danthedev/laravel-typescript-transformer-api

是 `spatie/laravel-typescript-transformer` 的扩展,改进了与 API 请求和响应一起工作的功能

v1.3.0 2023-02-23 13:17 UTC

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)。请参阅 许可文件 了解更多信息。