Para mayor información sobre Resource en Laravel, se puede visitar siempre la documentación oficial:
Fundamentos
Lo que aprenderás sobre API REST con Laravel
¿Qué es un API?
Sitio web: estructura inicial
Sitio web: completando la estructura
Mejorando el aspecto del sitio con Tailwind CSS
Términos
API
Versión 1: planificación y configuración inicial
Versión 1: recurso
Versión 1: colección
Repaso del código
Versión 2: planificación y configuración inicial
Versión 2: recurso
Versión 2: colección
Autenticación
Introducción a la API privada
Autenticación
Acceso
Conclusión
Repaso final
Despedida
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
Paga en 4 cuotas sin intereses
Termina en:
Aportes 5
Preguntas 1
Para mayor información sobre Resource en Laravel, se puede visitar siempre la documentación oficial:
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/
data
de la respuestaSi no les gusta el key data
que se agrega automáticamente, pueden quitarlo agregando la siguiente propiedad a su Resource
public static $wrap = null;
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
o inicia sesión.