You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NestJS如何排除部分API不使用全局前缀/payments?

解决NestJS全局API前缀排除特定接口的方案

你可以直接在setGlobalPrefix方法里传入exclude配置项,实现和中间件排除逻辑几乎一致的效果,不用额外写复杂逻辑:

import { RequestMethod } from '@nestjs/common';

// 在main.ts中修改全局前缀设置
app.setGlobalPrefix('payments', {
  exclude: [
    // 排除单个接口的所有请求方法
    { path: 'platform/healthcheck', method: RequestMethod.ALL },
    // 排除匹配通配符的GET类型接口
    { path: 'public/*', method: RequestMethod.GET },
    // 直接写字符串路径,默认排除该路径下所有请求方法
    'open-api/docs',
  ],
});

补充说明

  • exclude支持两种配置格式:
    • 对象形式:通过path和method精准匹配需要排除的接口路径与请求方法
    • 字符串形式:仅指定路径,默认排除该路径下的所有请求方法
  • 路径支持通配符*,可以批量匹配同一类接口

这种方式和你参考的MiddlewareConsumer排除逻辑一样简洁,无需额外添加中间件或其他复杂处理。

内容的提问来源于stack exchange,提问作者Kaushik Kakdey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 21:10:28