【问题标题】:Auto-generating Endpoint in node.js在 node.js 中自动生成端点
【发布时间】:2015-04-08 17:24:34
【问题描述】:

每当一个节点连接到我的服务器时,我都会尝试创建一个新端点, 并且仅由该端点使用。 但是,现在我被困在如何在 node.js 程序运行时生成一个新的端点。

以下是我希望它如何工作的一些说明: 首先,服务器 (node.js) 已启动。 (端点=> /开始) 其次,节点发送它自己的uid。 第三,服务器接收到数据并基于从 收到的节点 uid。 (节点 uid = aaaa,新端点 => /aaaa) 第四,每次有新节点up,都会回到第二步。

我在互联网上找不到任何解决方案或参考...

有什么建议吗?

谢谢。

【问题讨论】:

  • 您目前如何设置像/start 这样的端点?您是否使用任何库/框架?如果您使用基本的http.Server,它将接收对服务器发出的每个请求,而url path and query-string 只是一个字符串属性。而且,您可以定义哪些路径无效,哪些路径无效。
  • 目前,我正在使用来自 node.js 的模块,称为 Express。 Express 是 npm 包中的模块。要创建一个新端点,我只需要编写“express.get(“/start”)”或类似的东西......实际上,我不太明白你在说什么,因为我'我是服务器方面的初学者。但是,我会期待它,看看我能得到什么......无论如何,谢谢你的回复......非常感谢!
  • 借助 Express,您可以使用参数化路由 -- app.get('/:uid', ...);。您可以使用req.params 检索其值并使用app.param() 和/或router.param() 对其进行预处理。
  • 这是否适用于连接到 node.js 中服务器的多个节点?例如,我们有 10 个节点连接到 1 个服务器。服务器会为 10 个节点生成所有端点吗?
  • 是的,一条路由可以处理所有 10+ 个节点。我之前的观点是,路径只是服务器的一个字符串——console.log(req.url); // "/aaaaa"。 Express 通过将您提供的路由转换为正则表达式来处理路由,然后将其与路径字符串进行匹配。例如,"/:uid" 将匹配任何带有单个段(由斜杠分隔)的路径字符串 -- "/foo""/bar""/aaaaa" 等,同时跳过 "/foo/bar" 等。你必须实际上以相反的方式处理它,检查req.params.uid 并拒绝任何与活动节点不匹配的内容。

标签: node.js endpoints


【解决方案1】:

也许你可以尝试两个 NPM,这两个包都会自动检测所有端点并用 METHODS 列出它们(如 GET、POST、DELETE 等)

https://www.npmjs.com/package/api-doc

https://www.npmjs.com/package/express-list-endpoints

希望这对某人有所帮助。

【讨论】:

    猜你喜欢
    • 2018-03-03
    • 2012-04-23
    • 2018-07-06
    • 2016-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-01
    相关资源
    最近更新 更多