node.js - 如何在 Node JS rest API 中使参数可选

标签 node.js rest node-request

我们需要公开 REST 端点。一共有三个参数,如何使它们可选。 要求是它应该与这些参数中的任何一个一起工作。

例如http://server:port/v1/api/test-api/userId/UnameName/userEmail

app.get('v1/api/test-api/:userId/:userName/:userEmail', function(req, res){

});

当我们通过传递所有三个参数进行调用时,它工作正常。但是我们希望通过仅传递 userId 或这三个参数中的任何一个来使其工作。当我们传递较少的参数时,它给出错误 Cannot GET/v1/api/test-api/test5/123

如何在暴露端点时使参数可选?

最佳答案

你需要像这样构造路由:

app.get('path/:required/:optional?*, ...)

关于node.js - 如何在 Node JS rest API 中使参数可选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24131129/

相关文章:

node.js - Nodester Node 版本错误

node.js - 使用 sails.js 修改响应 header 以实现 HSTS

java - 使用 Java 从共享点检索数据并对其进行处理的最佳方法是什么?

rest - 如何公开 URL 友好的 UUID?

json - 无法在 Slack 线程中回复使用 JSON 发出 http post 请求

Node.js Express,请求 jwt token - 如果请求过期,如何正确获取新的有效 token

node.js - 无法从 Cloud9 IDE 将 Node.js 部署到 Azure 网站

javascript - hashbang 行上的 eclipse javascript 语法错误

java - 我需要在 tomcat 中使用@POST 和 jersey 的 map 吗

javascript - 如何使用nodejs请求库从客户端检测服务器关闭的连接