javascript - Node.js 和 Express Rest api 创建自定义字段路由

标签 javascript node.js rest express npm

我正在为我的 REST API 服务器使用 Node.js 和 Express 框架。

我已经使用查询参数创建了 get 路由并使用它们。

但我想创建一个像 facebook graph api 这样的功能,我可以使用我的 api 路由发送字段,例如

/me?fields=address,birthday,email,domains.limit(10){id,name,url}

我正在考虑从查询参数中获取字段,然后根据 进行拆分,例如

const fields = req.query.fields;
let fieldsArray = fields.split(',');

但是我如何传递子对象属性并从上面示例中的类似域字段的路由中检索它们。

/me?fields=地址,生日,电子邮件,domains.limit(10){id,name,url}

最佳答案

如果你使用像这样的点符号

/me?fields=address,domains.id,domains.name&dbQueryFilters=domains.limit=10

这可能意味着:

  • 我希望在回复中包含这些字段:
    • 地址
    • 域名:
      • ID
      • 姓名
  • 使用这些来查询数据库:
    • 域名:
      • 限制:10

您可以添加/删除此类查询变量,直到它明确传达您的 API 的功能,同时仍然非常基本。让事情保持简单和基本始终符合您的最大利益。

在nodeJS端,您可以使用像flat这样的库展开查询对象:

var fields = flat.unflatten(req.query.fields)

关于javascript - Node.js 和 Express Rest api 创建自定义字段路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51324808/

相关文章:

javascript - 与 .click() 和 .hover() 结合切换的 jquery 问题

javascript - Node js mysql访问javascript对象

node.js - 从服务器获取数据库名称

javascript - 是否可以通过 Javascript 下载数据,然后通过文件路径引用该数据?

javascript - 如何自动调整 html 标签的大小,使文本适合一行且不需要换行?

ruby-on-rails - rails 中的订单确认页面

c# - IIS 上使用 Autofac 的 WebApi REST 服务,首次调用时出错

java - 如何使用 Spring Rest MVC 服务实现自动完成功能

javascript 使用循环来更改具有特定类的每个元素的显示

javascript - typeError _ref 未定义