# Function: fastifyRequestHandler()

> 

> **fastifyRequestHandler**\<`TRouter`, `TRequest`, `TResponse`\>(`opts`): `Promise`\<`void`\>

Defined in: [packages/server/src/adapters/fastify/fastifyRequestHandler.ts:55](https://github.com/trpc/trpc/blob/7c907acfd8b31929214792e3b8c2ad7a8ac72563/packages/server/src/adapters/fastify/fastifyRequestHandler.ts#L55)

Handles one Fastify request for a router. `fastifyTRPCPlugin` uses it;
call it yourself to mount tRPC on your own route.

## Type Parameters

| Type Parameter |
| ------ |
| `TRouter` *extends* [`AnyTRPCRouter`](https://trpc.io/docs/typedoc/server/index/type-aliases/AnyTRPCRouter.md) |
| `TRequest` *extends* `FastifyRequest`\<`RouteGenericInterface`, `RawServerDefault`, `IncomingMessage`, `FastifySchema`, `FastifyTypeProviderDefault`, `unknown`, `FastifyBaseLogger`, `ResolveFastifyRequestType`\<`FastifyTypeProviderDefault`, `FastifySchema`, `RouteGenericInterface`\>\> |
| `TResponse` *extends* `FastifyReply`\<`RouteGenericInterface`, `RawServerDefault`, `IncomingMessage`, `ServerResponse`\<`IncomingMessage`\>, `unknown`, `FastifySchema`, `FastifyTypeProviderDefault`, `unknown`\> |

## Parameters

| Parameter | Type |
| ------ | ------ |
| `opts` | `FastifyRequestHandlerOptions`\<`TRouter`, `TRequest`, `TResponse`\> |

## Returns

`Promise`\<`void`\>
