Ir al contenido

Llamada a API

En Launchfa.st, para facilitar las cosas a los desarrolladores, todas las APIs están ahora mismo dentro del directorio src/pages/api.

Cualquier archivo dentro de src/pages que termine en .js/.ts puede ser un endpoint de API.

Lo bueno de las APIs con Launchfa.st es que puedes usar las Web APIs sobre Astro. Esto asegura que el código se pueda reutilizar en cualquier número de proyectos, sin importar su stack.

Encuentra más sobre las rutas de API en Astro en https://docs.astro.build/en/core-concepts/endpoints.

Rutas de API protegidas

Para ilustrarlo, para crear una ruta de API que devuelva si un usuario ha iniciado sesión o no, sigue los pasos en la plantilla de LaunchFa.st:

  1. Crea un archivo: src/pages/api/test.js.
  2. Añade el contenido de abajo a test.js:
src/pages/api/test.js
// Handle GET Request to /api/test
export async function GET({ request }) {
// Get the user session from the 'request'
const session = getSession(request)
if (!session) {
return new Response('unauthenticated', {
status: 403,
})
}
return new Response('authenticated', {
status: 200,
})
}
// Handle POST Request to /api/test
export async function POST({ request }) {
// Parse the incoming form data from the 'request'
const context = await request.formData()
// Get the user session from the 'request'
const session = getSession(request)
if (!session) {
return new Response('unauthenticated', {
status: 403,
})
}
return new Response('authenticated', {
status: 200,
})
}