最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

@Get( '*')不匹配空(NestJS)

IT培训 admin 10浏览 0评论

@Get( '*')不匹配空(NestJS)

在我的巢后台我想我的控制器内与之匹配的网址

@Controller('admin')
export class AdminController {
    @Get('*') 
    getAdminB(@Res() response): void {
        response.sendFile(path.resolve('./public/admin/index.html'));
    }
}

这应该与以下网址:

/admin
/admin/
/admin/anything

然而,上述获得@Get('*')不符/admin。我要补充的其他途径与@Get()还是有修复此?

我需要这个,因为我要为来自/admin角应用

回答如下:

您可以使用路径@Get('/?*')匹配所有的路由。

为什么这项工作?

鸟巢使用UTIL功能validatePath()建设的路径。当你有一个前缀(你的情况admin),然后窝总是从你的路线装饰添加前缀和路径之间的/除非第一个字符已经是/

export const validatePath = (path?: string): string =>
  path
    ? path.charAt(0) !== '/' ? '/' + path : path
    : '';

所以这是给快递将admin/?*这与admin开头的路径相匹配的路径。小心,这也包括例如adminarea/1

@Get( '*')不匹配空(NestJS)

在我的巢后台我想我的控制器内与之匹配的网址

@Controller('admin')
export class AdminController {
    @Get('*') 
    getAdminB(@Res() response): void {
        response.sendFile(path.resolve('./public/admin/index.html'));
    }
}

这应该与以下网址:

/admin
/admin/
/admin/anything

然而,上述获得@Get('*')不符/admin。我要补充的其他途径与@Get()还是有修复此?

我需要这个,因为我要为来自/admin角应用

回答如下:

您可以使用路径@Get('/?*')匹配所有的路由。

为什么这项工作?

鸟巢使用UTIL功能validatePath()建设的路径。当你有一个前缀(你的情况admin),然后窝总是从你的路线装饰添加前缀和路径之间的/除非第一个字符已经是/

export const validatePath = (path?: string): string =>
  path
    ? path.charAt(0) !== '/' ? '/' + path : path
    : '';

所以这是给快递将admin/?*这与admin开头的路径相匹配的路径。小心,这也包括例如adminarea/1

发布评论

评论列表 (0)

  1. 暂无评论