Laravel API 资源链接
发布于 作者 Paul Redmond
Laravel Resource Links 是由 Ruben Van Assche 和 Spatie 开发的一个包,它可以轻松地为您的 Laravel API 资源添加链接。
以下是从该包文档中摘取的一个示例,它展示了一个典型的 UserResource
与 Laravel 资源控制器 的匹配情况。
class UserResource extends JsonResource{ use Spatie\ResourceLinks\HasLinks; use Spatie\ResourceLinks\HasMeta; public function toArray($request): array { return [ 'id' => $this->id, 'name' => $this->name, 'links' => $this->links(UsersController::class), ]; } public static function meta() { return [ 'links' => self::collectionLinks(UsersController::class), ]; }}
以上代码将生成以下内容
{ "data":[ { "id":1, "name": "Ruben Van Assche", "links": { "show": "https://laravel.app/users/1", "edit": "https://laravel.app/users/1/edit", "update": "https://laravel.app/users/1", "delete": "https://laravel.app/users/1" } } ], "meta": { "links": { "index": "https://laravel.app/users", "create": "https://laravel.app/users/create", "store": "https://laravel.app/users" } }}
现在,您的前端拥有了为给定用户导航 API 所需的一切。提供集合元数据还可以访问用于列出现有用户和创建新用户的链接。
laravel-resource-links 文档 是开始了解此包的绝佳起点。您也可以在 GitHub 上查看源代码:spatie/laravel-resource-links。