No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Adquiere por un año todos los cursos, escuelas y certificados por un precio especial.

Antes: $249

Currency
$219/año

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Comprar ahora

Termina en:

0D
22H
47M
6S
Curso de API REST con Laravel

Curso de API REST con Laravel

Profesor Italo Morales F

Profesor Italo Morales F

Versión 1: recurso

8/18
Recursos

Aportes 5

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

Para mayor información sobre Resource en Laravel, se puede visitar siempre la documentación oficial:

https://laravel.com/docs/8.x/eloquent-resources

Eloquent: API Resources
Cuando se construye una API, se puede necesitar una capa de transformación entre el Modelo Eloquent y la respuesta JSON.
En esta capa de Recursos se pueden limitar la cantidad de campos del registro y mejorar la presentación de los mismos.
Documentación

Versión 1: recurso

Obtener el recurso con un mejor formato, esto va a crear una carpeta:
en terminal hacemos lo siguiente:

php artisan make:resource V1/PostResource

nos dirigimos al archivo creado dentro de app > Http > resources > PostResource.php
así quedaria:

<?php

namespace App\Http\Resources\V1;

use Illuminate\Http\Resources\Json\JsonResource;

class PostResource extends JsonResource
{
    /**
     * Transform the resource into an array.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return array
     */
    public function toArray($request)
    {
        return [
            'title' => $this->title,
            'slug' => $this->slug,
            'excerpt' => $this->excerpt,
            'content' => $this->content
        ];
    }
}

en PostController.php
vamos a retornar ese recurso que estamos utilizando.
agregamos lo siguiente:

use App\Http\Resources\V1\PostResource;
public function show(Post $post)
    {
        return new PostResource($post);
    }

Esto Funciona de la siguiente manera:
Tenemos una ruta
la ruta dispara un controlador
el controlador tiene dentro e si una acción
esta acción retorna ese recurso y eso es lo que le mostramos al usuario o al software que se vaya a conectar a nuestra aplicación.

En el Curso Avanzado de Laravel se explican un poco más detallado las rutas de recursos dentro de Laravel, en específico en esta clase, aquí el profesor hace ejemplos de cómo personalizar lo que el API devuelve usando los Resources de Laravel 👀:
.
https://platzi.com/clases/1959-laravel-avanzado/30083-capa-de-transformacion-con-api-resources/

Remover el key data de la respuesta

Si no les gusta el key data que se agrega automáticamente, pueden quitarlo agregando la siguiente propiedad a su Resource

    public static $wrap = null;