The docs state that Fastify doesn't support nested routers, however they do support a Route Config which in theory should allow me to use constraints to limit a route to a sub domain, such as the following:
import { Controller, Get } from '@nestjs/common';
import { AppService } from './app.service';
import { RouteConfig } from '@nestjs/platform-fastify';
@Controller()
export class AppController {
constructor(private readonly appService: AppService) {}
@RouteConfig({
constraints: { host: 'admin.example.com' },
})
@Get()
getHello(): string {
return this.appService.getHello();
}
}
This doesn't work in practice however, and seems to resolve to the same route regardless of top-level or subdomain resolution.
My answer might be a bit late, but my PR to add this feature was merged only today.
In previous versions of
@nestjs/platform-fastify(<v10.3) you wouldn't be able to use@RouteConfigas that only implements Fastitfy's route config feature.If possible, update your
@nestjs/platform-fastifyto a recent version (>= v10.3.0) and use@RouteConstraintsdecorator:References:
Thank you for pointing to this issue and giving me an opportunity to do some OSS contributions :)