是否有一个表单使环回自动验证远程方法中的输入参数?
我们假设我们有一个远程方法的以下定义:
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能够在每个请求上执行输入参数的验证,并在传递的对象不符合定义的模式(具有两个强制属性的强制对象)时引发错误.
显然它不会发生.任何线索?
免责声明:我是 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 也应该相对容易。