Transform data with API resources:
Create Resource
class PostResource extends JsonResource
{
public function toArray($request)
{
return [
'id' => $this->id,
'title' => $this->title,
'author' => new AuthorResource($this->author),
];
}
}Resource Collections
return PostResource::collection(Post::all());Conditional Attributes
return [
'id' => $this->id,
'secret' => $this->when($request->user()->isAdmin(), 'secret-value'),
];