Adaptateur Fastify
Le package @mastra/fastify fournit un adaptateur de serveur permettant d’exécuter Mastra avec Fastify. Pour en savoir plus sur les concepts généraux des adaptateurs, tels que les options du constructeur ou le processus d’initialisation, consultez la page Adaptateurs de serveur.
InstallationLien direct vers Installation
Installez l’adaptateur Fastify et le framework Fastify :
- npm
- pnpm
- Yarn
- Bun
npm install @mastra/fastify@latest fastify
pnpm add @mastra/fastify@latest fastify
yarn add @mastra/fastify@latest fastify
bun add @mastra/fastify@latest fastify
Exemple d’utilisationLien direct vers Exemple d’utilisation
import Fastify from 'fastify'
import { MastraServer } from '@mastra/fastify'
import { mastra } from './mastra'
const app = Fastify({ logger: true })
const server = new MastraServer({ app, mastra })
await server.init()
app.listen({ port: 3000 }, (err, address) => {
if (err) {
console.error(err)
process.exit(1)
}
console.log(`Server running on ${address}`)
})
Paramètres du constructeurLien direct vers Paramètres du constructeur
app:
mastra:
prefix?:
/api/v2)openapiPath?:
/openapi.json)bodyLimitOptions?:
streamOptions?:
customRouteAuthConfig?:
METHOD:PATH (par exemple, GET:/api/health). La valeur false rend la route publique, tandis que true exige une authentification.tools?:
taskStore?:
mcpOptions?:
serverless: true pour les environnements sans état tels que Cloudflare Workers ou Vercel Edge.Protection des routes brutesLien direct vers Protection des routes brutes
Lorsque vous souhaitez bénéficier de l’authentification gérée par Mastra et de métadonnées de route telles que requiresAuth, privilégiez registerApiRoute(). Pour les routes Fastify brutes montées directement sur l’application, utilisez createAuthMiddleware() :
import Fastify from 'fastify'
import { createAuthMiddleware, MastraServer } from '@mastra/fastify'
import { mastra } from './mastra'
const app = Fastify()
const server = new MastraServer({ app, mastra })
await server.init()
app.get('/custom/protected', { preHandler: createAuthMiddleware({ mastra }) }, async request => {
const user = request.requestContext.get('user')
return { user }
})
app.get(
'/custom/public',
{ preHandler: createAuthMiddleware({ mastra, requiresAuth: false }) },
async () => {
return { ok: true }
},
)
Initialisation manuelleLien direct vers Initialisation manuelle
Pour personnaliser l’ordre des middlewares, appelez chaque méthode séparément au lieu d’utiliser init(). Consultez la section initialisation manuelle pour plus de détails.
ExemplesLien direct vers Exemples
- Adaptateur Fastify : configuration de base d’un serveur Fastify
Voir aussiLien direct vers Voir aussi
- Adaptateurs de serveur : concepts communs aux adaptateurs
- Référence de MastraServer : référence complète de l’API
- Référence de createRoute() : création de routes personnalisées avec sûreté des types