API Resources 
Alcune volte è necessario aggiungere qualcosa ai singoli oggetti che compongono la collection di risposta. Infatti dopo la sua generazione, ci sarà una nuova API Resource dedicata (già presente e utilizzata nel Controller apposito).
Una classe API Resource appena generata si presenta così:
php
class UserResource extends JsonResource
{
    public function toArray($request)
    {
        $resourceArray = parent::toArray($request);
        //
        return $resourceArray;
    }
}La classe estesa JsonResource, nel caso in cui vengano legate altre risorse, si occuperà durante il recupero di passare anche per le loro definite API Resources.
Il metodo parent::toArray($request) permette di accedere all'array che corrisponde a uno degli N, e dovrà essere quello poi ritornato nel metodo con tutte le modifiche desiderate. In aggiunta, si può anche passare un array (additional).
Esempio di utilizzo 
Controller 
php
class UserController extends Controller
{
    public function index(UserIndexRequest $request): ResourceCollection
    {
        $validated = $request->validated();
        $users = User::with($validated['with'] ?? [])->orderBy("users.last_name");
        if ($validated['paginate'] ?? false) {
            $users = $users->paginate($validated['limit'] ?? null);
        } else {
            $users = $users->get();
        }
        /** Utilizzo l'additional della risorsa */
        return FoodDishResource::collection($users, ["format_phone_number" => true]);
    }
}API Resource 
php
/** @property $resource User */
class UserResource extends JsonResource
{
    public function toArray($request)
    {
        $resourceArray = parent::toArray($request);
        $user = $this->resource;
        if(isset($this->additional['format_phone_number'])){
            $resourceArray['formatted_phone_number'] = "+{$user->phone_prefix} {$user->phone_number}";
        }
        return $resourceArray;
    }
}