Saltar al contenido
Meeko
Escribe para buscar en las guías y en la referencia de la API. Ábrela desde cualquier página con / o Ctrl K; muévete con las flechas y entra con Intro.
Empezar

Contenidos

En esta página

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.

ts
import { executeApiRoute } from "@meekojs/meeko/server";

Código fuente src/server/api/runtime.ts:103

Firma #

ts
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 #

P extends Schema | undefined
Q extends Schema | undefined
B extends Schema | undefined
R extends Schema | undefined
S
L = undefined

Parámetros #

definition ApiRouteDefinition<P, Q, B, R, S, L, T>

Endpoint declarado con defineApiRoute.

context RequestContext<S>

Contexto de la petición.

sessions SessionManager

Gestor de sesiones, para Origin y CSRF.

rawParams unknown opcional

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 (un status no admitido o combinado con contentType: "response" o, con 204, con response) o los de locals y del handler.

Ejemplo #

ts
import { executeApiRoute } from "@meekojs/meeko/server";
import userRoute from "./server/api/users/[id].get.js";

const response = await executeApiRoute(userRoute, context, sessions, { id: "123" });

Véase también #

¿Te sirvió esta página?

Añadir un comentario

Se envía al elegir «Sí» o «No». Solo se guardan la página, tu respuesta y el comentario: ni cookies ni datos tuyos.

0 de 2000 caracteres

Editar en GitHub: packages/meeko/src/server/api/runtime.ts