Field Manual PHP / Laravel reference
← Laravel

API resources

Resources define explicit serialization independent of storage.

What it is

Resources define explicit serialization independent of storage.

When to use it

Use for API contracts and sensitive-field exclusion.

Syntax

return new OrderResource($order);

Example

namespace App\Http\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
class OrderResource extends JsonResource
{
    public function toArray(Request $request): array
    {
        return ["id" => $this->id, "reference" => $this->reference,
                "total_cents" => $this->total_cents, "status" => $this->status];
    }
}

Common mistakes

Resource serialization does not authorize; explicitly decide how pagination/envelopes work.

Related topics

08. Design API / interfaces