executeApiRoute
función
Ejecuta un endpoint de API con sus guardas y validaciones y devuelve la respuesta JSON, o lanza
un ApiError. Es la pieza de bajo nivel de dispatchApiRoute, que además normaliza errores.
El orden es: Origin (desde 1.8, en toda mutación salvo con origin: "none"), Origin y CSRF de
la sesión, rateLimit, auth, authorize, params, query, body, locals, handler y
response. La respuesta usa el estado de status (200 por defecto); con 204, sin cuerpo.
import { executeApiRoute } from "@meekojs/meeko/server";Código fuente src/server/api/runtime.ts:103
Firma #
function executeApiRoute<P extends Schema | undefined, Q extends Schema | undefined, B extends Schema | undefined, R extends Schema | undefined, S, L = undefined, T extends ApiSuccessStatus = ApiSuccessStatus>(definition: ApiRouteDefinition<P, Q, B, R, S, L, T>, context: RequestContext<S>, sessions: SessionManager, rawParams?: unknown): Promise<Response>Parámetros de tipo #
-
Pextends Schema | undefined -
Qextends Schema | undefined -
Bextends Schema | undefined -
Rextends Schema | undefined -
S -
L= undefined -
Textends ApiSuccessStatus = ApiSuccessStatus
Parámetros #
-
definitionApiRouteDefinition<P, Q, B, R, S, L, T> Endpoint declarado con
defineApiRoute.-
contextRequestContext<S> Contexto de la petición.
-
sessionsSessionManager Gestor de sesiones, para Origin y CSRF.
-
rawParamsunknownopcional Parámetros de la ruta sin validar.
Devuelve #
-
Promise<Response> La respuesta del endpoint.
Lanza #
-
ApiError Con
INVALID_ORIGIN,RATE_LIMITED,UNAUTHENTICATED,FORBIDDEN,INVALID_PARAMS,INVALID_QUERY,INVALID_BODY,UNSUPPORTED_MEDIA_TYPE,BODY_TOO_LARGE,INVALID_RATE_LIMIT,INVALID_RESPONSE,INVALID_RESPONSE_STATUS(unstatusno admitido o combinado concontentType: "response"o, con204, conresponse) o los delocalsy del handler.
Ejemplo #
import { executeApiRoute } from "@meekojs/meeko/server";
import userRoute from "./server/api/users/[id].get.js";
const response = await executeApiRoute(userRoute, context, sessions, { id: "123" });