NestJS setGlobalPrefix排除选项失效问题求助
解决NestJS全局前缀排除
.well-known路由无效的问题 你的问题出在设置的exclude规则仅匹配了路径为.well-known的根路由,但实际业务路由是.well-known/apple-app-site-association,导致全局前缀api仍被添加到了这个子路径上,因此只有带前缀的路由能访问。
可以通过以下两种方式解决:
方法一:精确排除指定子路由
如果仅需排除单个路由,直接将完整路径加入exclude列表:
import { RequestMethod } from '@nestjs/common'; app.setGlobalPrefix('api', { exclude: [ { path: '.well-known/apple-app-site-association', method: RequestMethod.GET } ] });
方法二:排除整个.well-known前缀下的所有路由
如果.well-known控制器下还有其他路由,想统一排除全局前缀,可使用通配符匹配:
app.setGlobalPrefix('api', { exclude: ['.well-known*'] });
修改后,访问/.well-known/apple-app-site-association即可正常获取内容,而带api前缀的对应路由会被拦截(返回404)。
内容的提问来源于stack exchange,提问作者Sandzhak Bob
相关产品推荐
相关产品推荐

