Mercurius
Mercurius 是用于 Fastify 的 GraphQL 适配器
安装
sh
npm i fastify mercurius graphql @gqloom/coresh
pnpm add fastify mercurius graphql @gqloom/coresh
yarn add fastify mercurius graphql @gqloom/coresh
bun add fastify mercurius graphql @gqloom/core使用
ts
import { weave } from "@gqloom/core"
import Fastify from "fastify"
import mercurius from "mercurius"
import { helloResolver } from "./resolvers"
const schema = weave(helloResolver)
const app = Fastify()
app.register(mercurius, { schema })
app.listen({ port: 4000 }, () => {
console.info("Mercurius server is running on http://localhost:4000")
})上下文
在与 Mercurius 同时使用 GQLoom 时,你可以使用 MercuriusContext 来标注上下的类型:
ts
import { useContext } from "@gqloom/core/context"
import { type MercuriusContext } from "mercurius"
export function useAuthorization() {
return useContext<MercuriusContext>().reply.request.headers.authorization
}你还可以在 Mercurius 文档中了解更多关于上下文的信息。