Skip to main content

Execution Context

RPC routes run as standard NestJS controller methods after nestRpcInit applies decorators.

  • The first parameter is the raw input from the client
  • Your router classes can use dependency injection like any Nest provider
  • Nest guards, interceptors, and pipes apply as usual
import { Router, Route } from '@nestjs-rpc/server';
import { Injectable } from '@nestjs/common';

@Injectable()
class UsersService { /* ... */ }

@Router()
export class UserRouter {
constructor(private readonly users: UsersService) {}

@Route()
getUser({ id }: { id: string }) {
return this.users.find(id);
}
}