Un solo comando de Composer. El paquete se descubre solo y no hay nada que registrar a mano.
Requisitos
- PHP 8.1 o superior
- Laravel 10, 11, 12 o 13
Instalar
composer require mundoprogra/json-api
Eso es todo. Laravel descubre el paquete solo: al arrancar, se engancha al manejo de excepciones y agrega sus middleware al inicio de la fila global del kernel HTTP, sin tocar bootstrap/app.php, Kernel ni Handler.
Funciona también si tu bootstrap/app.php reemplaza la lista global de middleware con withMiddleware (Laravel 11 a 13): los middleware del paquete se agregan después y quedan al principio de la fila.
Publicar la configuración y los textos
Es opcional. Con estos dos comandos copias a tu aplicación el archivo de configuración y los textos de los errores, para cambiarlos:
php artisan vendor:publish --tag="json-api-config"
php artisan vendor:publish --tag="json-api-lang"
El primero crea config/json-api.php; todas sus opciones se explican en Configuración. El segundo copia los textos de los errores (title y detail), que vienen en español y en inglés y salen en el idioma actual de Laravel.
Comprobar que funciona
Con la aplicación en marcha, pide una ruta que no existe dentro del prefijo api:
curl -i -H "Accept: application/vnd.api+json" http://localhost:8000/api/no-existe
Debe responder 404 con Content-Type: application/vnd.api+json y un documento errors cuyo code es mundoprogra.json-api.route.not_found.
Si ves la página de error de Laravel en HTML, la ruta no está dentro del alcance del paquete: por defecto solo actúa sobre las rutas que empiezan con api (o sobre toda la aplicación con JSON_API_MODE=global). Está explicado en Cómo se activa.