最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

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

运维笔记admin15浏览0评论

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

@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. 暂无评论