De 60 líneas de código a una sola
Comienza con una implementación básica de 1 línea y escala agregando filtros, relaciones o búsqueda con una sintaxis fluida y elegante.
Di adiós a los 50 ifs y wheres manuales en cada controlador. Construye APIs seguras, ultra optimizadas y listas para componentes de filtrado en React, Vue e Inertia en minutos.
DESARROLLAR APIS NUNCA FUE TAN RÁPIDO NI TAN LIMPIO
¿Cansado de llenar tus controladores con if ($request->filled(...)), when() interminables y subconsultas que vuelven lento tu sistema? Mira cómo evoluciona tu código con ApiQueryBuilder:
// En tu controlador de Laravel:
public function index()
{
// ¡Listo! Pagina 15 registros por defecto, ordena por id desc y retorna JSON:
return User::apiQuery()->response();
}public function index()
{
// Tu frontend ya puede enviar ?filter[status]=active o ?filter[name][contains]=carlos:
return User::apiQuery()
->allowedFilters(['name', 'status'])
->response();
}public function index()
{
// Transforma la salida limpiamente con tu Resource de Laravel:
return User::apiQuery()
->allowedFilters(['name', 'status'])
->response(UserResource::class);
}public function index()
{
return ApiQueryBuilder::for(User::class)
->allowedFilters(['name', 'status', 'roles.name', 'extra_data.*'])
->defaultFilters(['status' => 'active'])
->allowedIncludes(['roles', 'department'])
->allowedCounts(['comments'])
->allowedSearch(['name', 'email'])
->allowedSorts(['name', 'created_at'])
->defaultSort('-created_at')
->allowAll(maxLimitOrUnlimited: 5000)
->response(UserResource::class);
}