【问题标题】:How to prevent unwanted request in node js express?如何防止节点 js express 中不需要的请求?
【发布时间】:2020-09-28 10:13:14
【问题描述】:

预期请求:

{
    "name": "Raju",
    "email": "email@email.com"
}

实际:

{
    "name": "Raju",
    "email": "email@email.com",
    "xyz" : "xxxx"
}

我想在验证/路由器级别为“xyz”抛出错误或转义。 我正在使用最快的验证器。

是否有其他验证器支持此功能?

任何帮助表示赞赏

【问题讨论】:

  • @Lep Paul 在遇到问题的任何地方分享代码 sn-ps。
  • @kavigun 更新了问题。这是一个普遍的问题

标签: node.js express request request.querystring


【解决方案1】:

您可以设置$$strict: true,如下例所示:

const schema = {
    name: { type: "string" }, // required
    $$strict: true // no additional properties allowed
}

v.validate({ name: "John" }, schema); // Valid
v.validate({ name: "John", age: 42 }, schema); // Fail

【讨论】:

  • 感谢您的回答。我的问题不是额外的属性,而是额外的不需要的数据集,如名称,但请求中不需要国家/地区 { "name" : "Ram",// 需要和预期的 "country" : "USA" // 不需要和不期望在请求中}
  • @LeoPaul 它会解决同样的问题,我们在这里验证请求有效负载模式
  • @Leo Paul 好的。请投票并接受答案并结束讨论。
猜你喜欢
  • 2015-09-15
  • 1970-01-01
  • 1970-01-01
  • 2016-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-19
  • 2016-01-23
相关资源
最近更新 更多