我刚刚开始使用Nestjs,我想知道如何使用路由前缀或通过Express Router实例来对我的API进行版本控制?
理想情况下,我想通过以下方式访问端点:
/v1
/v2
Run Code Online (Sandbox Code Playgroud)
等等,所以我可以优雅地降低端点.我没有看到我可以添加版本前缀的位置.我知道可以在应用程序实例上设置全局前缀,但这不适用于特定的端点集.
这是关于RouterModule https://github.com/nestjs/nest/issues/255的公开讨论.我理解这个功能有多重要,所以它应该在不久的将来出现.此时,有必要将v1/ v2直接放入@Controller()装饰器中.
路由器模块来救援,有了 Nest,RouterModule现在可以轻松组织您的路线。
请参阅如何轻松设置。
\n\nconst routes: Routes = [\n {\n path: \'/ninja\',\n module: NinjaModule,\n children: [\n {\n path: \'/cats\',\n module: CatsModule,\n },\n {\n path: \'/dogs\',\n module: DogsModule,\n },\n ],\n },\n ];\n\n@Module({\n imports: [\n RouterModule.forRoutes(routes), // setup the routes\n CatsModule,\n DogsModule,\n NinjaModule\n ], // as usual, nothing new\n})\nexport class ApplicationModule {}\nRun Code Online (Sandbox Code Playgroud)\n\n这会产生这样的结果:
\n\nninja\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 /\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 /katana\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 cats\n \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 /\n \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 /ketty\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 dogs\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 /\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 /puppy\nRun Code Online (Sandbox Code Playgroud)\n\n当然,对于版本控制路线,您可以执行与此类似的操作
\n\nconst routes: Routes = [\n {\n path: \'/v1\',\n children: [CatsModule, DogsModule],\n },\n {\n path: \'/v2\',\n children: [CatsModule2, DogsModule2],\n },\n ];\nRun Code Online (Sandbox Code Playgroud)\n\n好的 !
\n\n检查一下Nest 路由器
\n| 归档时间: |
|
| 查看次数: |
2721 次 |
| 最近记录: |