API Resources
Transform models into JSON responses
API Resources give you a transformation layer between your Eloquent models and the JSON responses your API returns.
A resource class transforms a model into a JSON-friendly array, controlling which fields appear and how.
Model
Resource
JSON
Model fields
id
name
email
password
remember_token
created_at
updated_at
JSON output
id:1
name:Alice
email:alice@example.com
4 fields hidden by resource
PHP
// app/Http/Resources/UserResource.php
class UserResource extends JsonResource {
public function toArray($request): array {
return [
'id' => $this->id,
'name' => $this->name,
'email' => $this->email,
];
}
}
return new UserResource($user);