如何在 Lumen 项目中使用 JSON API 资源?

not*_*eek 9 php laravel lumen

在 Laravel 中,它可以像这里描述的那样简单地完成:https ://laravel.com/docs/5.6/eloquent-resources 。

有人说,API 资源不适合 Lumen。但是,就这个问题而言,我想知道,严格来说,是否有办法在 Lumen 项目中添加 Laravel JSON API 资源(use Illuminate\Http\Resources\Json\JsonResource;新创建的 Lumen 项目中缺少该包)。

小智 17

API 资源在 lumen 中可用,文件位于:vendor\illuminate\http\Resources. 缺少的是生成它们的工匠命令。所以只需手动创建文件,例如: app\Http\Resources\UserResource.php

namespace App\Http\Resources;

use Illuminate\Http\Resources\Json\JsonResource;

class UserResource extends JsonResource
{
    public function toArray($request)
    {
        return [
            'name' => $this->name,
            'email' => $this->email,
        ];
    }
}
Run Code Online (Sandbox Code Playgroud)

我不知道谁说 API 资源不适用于 Lumen,但事实并非如此。

  • 对于 Lumen 5.8,如果添加包 Flipbox/lumen-generator: ```composer require Flipbox/lumen-generator``` 您将能够将它与 artisan 命令 ```artisan make:resource myresource``` 一起使用 (2认同)