Optimización de tus rutas API en Laravel: el método apiResource

  • Publicado el 25 noviembre, 2024
  • Palabras: 140

¿Alguna vez te has encontrado excluyendo manualmente rutas de tus plantillas HTML al crear una API? ¡El método apiResource de Laravel está aquí para hacerte la vida más fácil! Veamos cómo esta función puede optimizar las definiciones de rutas de tu API.

Optimización de tus rutas API en Laravel: el método apiResource

#Conceptos básicos de apiResource

En lugar de utilizar el método resource estándar y excluir rutas, puede utilizar apiResource:

 

use AppHttpControllersPhotoController;

Route::apiResource('photos', PhotoController::class);

 

Esto excluye automáticamente las rutas create y edit que normalmente se utilizan para formularios HTML.

#Trabajar con múltiples recursos de API

¿Necesitas registrar varios recursos de API? El método apiResources te ayudará:

 

use AppHttpControllersPhotoController;
use AppHttpControllersPostController;

Route::apiResources([
    'photos' => PhotoController::class,
    'posts' => PostController::class,
]);

 

#Creación rápida de controladores

Laravel también proporciona una forma conveniente de crearcontroladores específicos de API:

 

php artisan make:controller PhotoController --api

 

Este comando crea un controlador sin los métodos create y edit, perfecto para recursos de API.

 

#Ejemplo práctico

A continuación se explica cómo configurar una API para una plataforma de redes sociales:

 

use AppHttpControllersApiPostController;
use AppHttpControllersApiCommentController;
use AppHttpControllersApiUserController;

class ApiRouteProvider extends ServiceProvider
{
    public function boot()
    {
        Route::prefix('api/v1')->group(function () {
            Route::apiResources([
                'posts' => PostController::class,
                'comments' => CommentController::class,
                'users' => UserController::class
            ]);
        });
    }
}

 

Esto configura las siguientes rutas para cada recurso:

  • GET /api/v1/posts (index)
  • POST /api/v1/posts (store)
  • GET /api/v1/posts/{post} (show)
  • PUT/PATCH /api/v1/posts/{post} (update)
  • DELETE /api/v1/posts/{post} (destroy)


El método apiResource te ayuda a crear API RESTful limpias y a la vez seguir las convenciones de Laravel. Es una pequeña característica que puede ahorrarte tiempo y mantener tus rutas organizadas.

 

Antonio Jenaro
Antonio Jenaro

Web Developer

Archivado en:

Fuente: Harris Raftopoulos

Inicia la conversación

Hazte miembro de Antonio Jenaro para comenzar a comentar.

Regístrate ahora

¿Ya estás registrado? Inicia sesión