NestJS에서 API에 공통적으로 들어갈 prefix를 넣는 방법을 찾다가 알게 된 내용을 정리한다.
Global prefix 기능을 사용하면 해당 문제를 해결할 수 있다.
//app.module.ts
const app = await NestFactory.create(AppModule);
app.setGlobalPrefix('api');
위와 같이 코드를 작성하면 'api'가 global prefix로 설정된다.
다른 모듈의 controller에서 user 도메인을 작성하면, 해당 도메인은 '/api/user'로 경로가 설정되는 것이다.
app.setGlobalPrefix('api, {
exclude: [{ path: 'user', method: RequestMethod.GET }],
});
특정 도메인에 대해 global prefix가 설정되지 않도록 예외처리를 해줄 수도 있다.
위와 같이 코드를 작성하면 user 도메인의 get 메소드에 대해서는 api prefix가 붙지 않는다.
즉, '/user (GET)'으로 경로가 설정되는 것이다.
app.setGlobalPrefix('api', { exclude: ['user'] });
특정 도메인의 모든 메소드에 대해 예외처리를 하려면 위와 같이 작성하면 된다.