将 /.json 添加到快速路由末尾的最佳方法是什么

What is the best way to add /.json to the end of express routes?

本文关键字:最佳 是什么 方法 路由 json 添加      更新时间:2023-09-26

我正在将DJANGO API移植到Node.js并且需要在路由末尾支持.json。

示例:GET to/users/:id/.json 将返回表示用户的 JSON 对象。

问题是我有一些具有自定义行为的路由,所以我需要它返回与我运行的相同逻辑,就像我对/users/:id 执行 GET 一样。

我可以轻松地复制原始路由并向其中添加/.json,但由于显而易见的原因,这不是我想这样做的方式。

我可以使用什么方法来"自动"将 .json 处理程序附加到路由的末尾,并让它使用不同的自定义路由?

执行此操作的一个好方法是使用查询参数。您可以像往常一样定义路线:

/users/:id

然后有一些逻辑(例如,在中间件中)来查找type查询参数。

if(req.query.type) {
  if(req.query.type === 'json') {
    // send json
  }
}

然后,客户端将命中的完整路由将是:/users/12345?type=json

参考:快速文档,请求查询部分