rest - API:带有 user_id 或 name+region 的 GET 请求
问题描述
在我的 API 中,我有一个 GET /users/,它为我提供了用户集合中所有文档的数组。我有一个 GET /users/:user_id 可以让我成为一个用户。我还想要一个 GET /users/name.region 来获得一个用户。这可能吗?
我是否必须使用 GET /users/name="Joe"®ion="US" 之类的查询参数?我将如何实现这一点?在另一个端点,或者有没有办法检查它是 user_id 还是名称和区域的组合?
像这样的东西?
if !req.params{
model.find({"name":query.params.name, "region": query.params.region})}
else
model.find({"user_id": req.params.user_id})
解决方案
也许你可以用同样的路线来做......
一个例子
const givenId = req.params.user_id;
const parts = givenId.split('.');
if (parts.length === 2) {
const name = parts[0];
const region = parts[1];
} else {
const userId = givenId;
}
推荐阅读
- ruby-on-rails - 写文本结合两种语言阿拉伯语和英语在虾栏
- c++ - 如何在具有 C++ 扩展名的 VS 代码中禁用函数参数的弹出建议
- python - 从github下载txt文件
- sql - 试图加入 2 张桌子
- android - 用于大量记录的领域查询冻结应用程序
- python - 使用批量输出的 Keras 损失函数
- performance - 这些方法中的哪一种符合 RESTful 标准?
- html - 为什么这个 HTML 表单没有提交参数?
- node.js - 谷歌云应用引擎抗socket.io连接
- python - 使用 Python xlsxwriter 将变量 write_rich_string 格式属性添加到文本