loopback remote方法:参数验证

Ale*_*eks 6 loopbackjs

是否有一个表单使环回自动验证远程方法中的输入参数?

我们假设我们有一个远程方法的以下定义:

  WebuserModel.remoteMethod('overLogin',  {
      description: "Performs a Webuser's login to the system",
      accepts: [
        {
          arg: 'credentials', type: {
            "username": { type: "string", required:true },
            "password": { type: "string", required: true }
          },
          http: {source: 'body'},
          required: true
        },
      ],
      returns: {arg: 'accesToken', type: "object", root: true},
      http: {path: '/login', verb: 'post'}
    }
Run Code Online (Sandbox Code Playgroud)

我希望loopback能够在每个请求上执行输入参数的验证,并在传递的对象不符合定义的模式(具有两个强制属性的强制对象)时引发错误.

显然它不会发生.任何线索?

Mir*_*toš 2

免责声明:我是 LoopBack 的核心开发人员,也是 Strong-remoting@3.x 中参数验证的作者。

LoopBack 不支持在调用远程方法时验证客户端提供的嵌套对象属性。现在,我们仅检查该值是否是一个对象,请参阅强远程处理中的lib/types/object.js 。

在即将推出的 LoopBack 4 版本中,我们计划支持输入参数的完整 OpenAPI 和/或 JSON 模式验证,请参阅https://github.com/strongloop/loopback-next/issues/118

根据该 GitHub 问题中的评论,将基于 JSONSchema 的验证添加到 LoopBack 3.x 也应该相对容易。