PayloadCMS v3自定义端点通配符失效问题求助
PayloadCMS v3 自定义端点通配符问题解决办法
PayloadCMS v3 对路由匹配规则做了调整,旧版本里 /find-by-path/* 这种末尾通配符的写法已不再支持,需要换成带参数名的修饰符格式:
- 将原路径改为
/find-by-path/:slug*,其中:slug是自定义参数名,后面的*表示匹配该位置之后的所有路径片段,捕获到的内容会存入req.params.slug(多级路径会包含斜杠)。
以下是实际配置示例:
// payload.config.ts export default buildConfig({ // 其他项目配置... endpoints: [ { path: '/find-by-path/:slug*', method: 'get', handler: async (req, res) => { // 获取捕获到的slug内容 const targetSlug = req.params.slug; // 此处编写业务逻辑,比如根据slug查询数据 res.status(200).json({ matchedSlug: targetSlug }); }, }, ], });
该写法符合v3的路由解析规则,不会再触发「Unexpected MODIFIER at 5, expected END」报错。
内容的提问来源于stack exchange,提问作者Drake
相关产品推荐
相关产品推荐

