帆.js如何修改路由以插入逗号分隔的 ID 列表
Sails.js how to modify routes to interprate comma separated list of ids
根据一些JSON API规范,例如 http://jsonapi.org/format/#urls-individual-resources,服务器应该将GET请求解释为/myResources/1,2,3,4,5。
现在,Sails.js路由器将其发送到findOne
操作。
正确处理此问题的最佳方法是什么?
我认为理想情况下,路由器应该以与解释?ids[1,2,3,4,5]
相同的方式解释/1,2,3,4,5
,但我意识到这可能不是微不足道的。
另一种选择是向所有findOne
请求添加一个策略,以检查req.params('id')
是否有逗号,然后将 id 列表重新格式化为查询字符串,然后重定向到find
(这会起作用吗? 将策略添加到每个控制器有点烦人。
思潮?
我认为这是您的建议,但这只是将其放在findone.js蓝图顶部的问题。(或将其添加为策略)。只需检查以确保它是一个字符串(以防您已经传递了一个数组。
if(typeof req.params.id === "string"){
req.params.id = req.params.id.split(',')
}
编辑:
对于任何实施者,请记住,您的findOne
策略将应用于此请求(请参阅注释)。 例如,假设您有一个find
策略,该策略将某些参数应用于 req.options.where,以根据用户的权限筛选记录。 这不适用于这种情况!
编辑除非您只是将这些路由定向到索引/查找路由。您可以将蓝图路由用于其他所有内容,但在 url 的"键"部分中带有逗号的路由。
相关文章:
- 将样式表插入iframe
- Ckeditor-plugin:插入虚假元素add不情愿<p>标签前后
- 如何动态插入jquery代码
- 动态插入的表:JQuery未检测到最后一行
- 使用JavaScript动态插入DIV的成本有多高
- 带有填充属性的SVG矩形显示在包含元素的上方插入框阴影
- 将对象动态插入到现有对象中
- 将数组中的值插入到表中
- 在 Java 中的 JavaScript 函数中插入 Wicket 值
- 我如何在数字插入中使用逗号,这样它就不会'不要破坏我的输入字段
- javascript函数内部的代码用逗号而不是分号分隔
- 使用PHP插入HTML在JavaScript上不起作用
- javascript:将数据库中的数据插入到html5文本字段中
- 从数据库中获取数据并插入JavaScript变量
- 如何使用innerHtml正确插入html
- AngularJS指令,在元素后插入HTML
- 当用户按下回车键时,自动在text区域/text中插入消息
- 使用 PHP 和 JavaScript 分隔 SQL 插入的变量
- 帆.js如何修改路由以插入逗号分隔的 ID 列表
- SQLite插入到表中,使用JSON.stringyfy.以带引号的字符串分隔