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

How can I use JSON API Resource in a Lumen project?

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

有人说,API Resources 不适用于 Lumen。但是,只是为了这个问题,我想严格地知道,是否有办法在 Lumen 项目中添加 Laravel JSON API 资源(包 use Illuminate\Http\Resources\Json\JsonResource; 在新创建的 Lumen 项目中丢失了。

API lumen 中提供资源,文件位于:vendor\illuminate\http\Resources。 缺少的是生成它们的 artisan 命令。因此,只需手动创建文件,例如: 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,
        ];
    }
}

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

如果你想在 json 中发送响应,那么在你的控制器中使用 return响应($res,200); 这里 200 是 stauts 代码

将您的 laravel 升级到 6.xx 运行

composer install

那么只有您可以看到

下的资源 类

vendor/illuminate/http/ directory