Nesjt配置全局路由前缀实现接口区分
前言
这个是非常常见的一种配置,我们的接口通过域名访问,但是这个域名不一定全部都给后端使用,所以一般后端服务都是基于域名,通过一个前缀路由来实现区分,比如:
www.xxx.com
# 后端服务1
www.xxx.com/v1
# 后端服务2
www.xxx.com/v2
通过一个统一的路径名来区分。
教程
在nestjs中,这个配置放在了文档比较末端的地方,代码如下:
import { NestFactory } from "@nestjs/core";
import { AppModule } from "./app.module";
async function bootstrap() {
const app = await NestFactory.create(AppModule);
// 全局路由前缀
app.setGlobalPrefix("api");
await app.listen(3000);
}
bootstrap();
此时我们访问就必须加上/api
的路径前缀了。
http://localhost:3000/api
官方文档: global-prefix
拓展:接口版本区分?
你可能会认为这个方法可以用于实现接口的版本区分,但是它并不能做到,文档中所提供的排除选项,只能精准匹配,他是无法匹配某一个路径从而排除这个路径下的所有路由的。
事实上Nestjs官方本身就已经考虑到这种情况,它们提供了更强大的配置处理,这里就需要自己去查看官方文档:
英文版:versioning
中文版:API 多版本
版权申明
本文系作者 @木灵鱼儿 原创发布在木灵鱼儿站点。未经许可,禁止转载。
暂无评论数据