Khi xây dựng API, bạn có thể cần một lớp chuyển đổi nằm giữa các mô hình Eloquent của bạn và các phản hồi JSON thực sự được trả về cho người dùng ứng dụng của bạn. Các lớp tài nguyên của Laravel cho phép bạn chuyển đổi các mô hình và bộ sưu tập mô hình của bạn thành JSON một cách rõ ràng và dễ dàng
Tạo tài nguyên
Để tạo một lớp tài nguyên, bạn có thể sử dụng lệnh Artisan
use App\Http\Resources\User as UserResource;
use App\User;
Route::get['/user', function [] {
return new UserResource[User::find[1]];
}];
5. Theo mặc định, tài nguyên sẽ được đặt trong thư mục use App\Http\Resources\User as UserResource;
use App\User;
Route::get['/user', function [] {
return new UserResource[User::find[1]];
}];
6 của ứng dụng của bạn. Tài nguyên mở rộng lớp use App\Http\Resources\User as UserResource;
use App\User;
Route::get['/user', function [] {
return new UserResource[User::find[1]];
}];
7php artisan make:resource User
Bộ sưu tập tài nguyên
Ngoài việc tạo các tài nguyên chuyển đổi các mô hình riêng lẻ, bạn có thể tạo các tài nguyên chịu trách nhiệm chuyển đổi các bộ sưu tập mô hình. Điều này cho phép phản hồi của bạn bao gồm các liên kết và thông tin meta khác có liên quan đến toàn bộ bộ sưu tập của một tài nguyên nhất định
Để tạo một bộ sưu tập tài nguyên, bạn nên sử dụng cờ
use App\Http\Resources\User as UserResource;
use App\User;
Route::get['/user', function [] {
return new UserResource[User::find[1]];
}];
8 khi tạo tài nguyên. Hoặc, bao gồm từ use App\Http\Resources\User as UserResource;
use App\User;
Route::get['/user', function [] {
return new UserResource[User::find[1]];
}];
9 trong tên tài nguyên sẽ cho Laravel biết rằng nó sẽ tạo một tài nguyên bộ sưu tập. Tài nguyên bộ sưu tập mở rộng lớp use App\Http\Resources\User as UserResource;
use App\User;
Route::get['/user', function [] {
return UserResource::collection[User::all[]];
}];
0php artisan make:resource Users --collection
php artisan make:resource UserCollection
Khái niệm tổng quan
Đây là tổng quan cấp cao về tài nguyên và bộ sưu tập tài nguyên. Bạn nên đọc các phần khác của tài liệu này để hiểu sâu hơn về tùy chỉnh và sức mạnh mà tài nguyên cung cấp cho bạn
Trước khi đi sâu vào tất cả các tùy chọn có sẵn cho bạn khi viết tài nguyên, trước tiên chúng ta hãy xem xét kỹ cách sử dụng tài nguyên trong Laravel. Một lớp tài nguyên đại diện cho một mô hình duy nhất cần được chuyển đổi thành cấu trúc JSON. Ví dụ, đây là một lớp tài nguyên
use App\Http\Resources\User as UserResource;
use App\User;
Route::get['/user', function [] {
return UserResource::collection[User::all[]];
}];
1 đơn giản