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

标签 javascript node.js express

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

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

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

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

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

最佳答案

实现此目的的一个好方法是使用查询参数。您可以像平常一样定义路线:

/users/:id

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

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

客户端将访问的完整路由将是:/users/12345?type=json

引用:express docs, req.query section

关于javascript - 将/.json 添加到快速路线末尾的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34954136/

相关文章:

javascript - 我可以假设 promise 中的错误会冒泡到新的 Promise 并捕获它吗?

javascript - 记录XHR的请求负载

node.js - 对摘要身份验证的错误请求(用户 : false)

node.js - 使用 express node.js 计算 http 请求所花费的时间

javascript - 简单的 Javascript 不工作 - Jquery

Javascript 混淆正则表达式组

javascript - 我怎么知道连接是否安全?

node.js - 在 Dialogflow 中存储用户位置首选项

javascript - 你能强制 Vue.js 重新加载/重新渲染吗?

javascript - Node/快速路由问题 - 调用不正确的路径