@blitzjs/rpc plugin with:npm i @blitzjs/rpc # yarn add @blitzjs/rpc # pnpm add @blitzjs/rpcAdd the following to your blitz-client.ts file:
import { setupClient } from "@blitzjs/next"
import { BlitzRpcPlugin } from "@blitzjs/rpc"
const { withBlitz } = setupClient({
plugins: [BlitzRpcPlugin()],
})
export { withBlitz }You can configure the @blitzjs/rpc plugin to use different react-query
options:
import { setupClient } from "@blitzjs/next"
import { BlitzRpcPlugin } from "@blitzjs/rpc"
const { withBlitz } = setupClient({
plugins: [
BlitzRpcPlugin({
reactQueryOptions: {
queries: {
staleTime: 7000,
},
},
}),
],
})
export { withBlitz }You can read more about react-query's QueryClient options
here.
Add the following to your blitz-server.ts file:
const { invoke } = setupBlitzServer({
plugins: [
// Other plugins
RpcServerPlugin({
logging: {
//logging options
},
onInvokeError(error) {
// Add your custom error handling here
},
}),
],
})
export { invoke }Create an app/api/rpc/[[...blitz]] directory in your src directory
with a route.ts file, and add the following lines:
// app/api/rpc/[[...blitz]]/route.ts
import { rpcAppHandler } from "@blitzjs/rpc"
export const { GET, POST, HEAD } = rpcAppHandler()// app/api/rpc/[[...blitz]]/route.ts
import { rpcAppHandler } from "@blitzjs/rpc"
import { withBlitzAuth } from "app/blitz-server"
export const { GET, POST, HEAD } = withBlitzAuth(rpcAppHandler())View RPC Configurations to view the available options.
Create an pages/api/rpc directory in your src directory with
[[...blitz]].ts file, and add the following lines:
// src/pages/api/rpc/[[...blitz]].ts
import { rpcHandler } from "@blitzjs/rpc"
import { api } from "src/blitz-server"
export default api(rpcHandler({}))View RPC Configurations to view the available options.
Follow the Query Resolvers and
Mutation Resolvers docs to learn how to use
the @blitzjs/rpc plugin's features.