是否有一个表单使环回自动验证远程方法中的输入参数?
假设我们有以下远程方法的定义:
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'}
}
我希望loopback能够对每个请求执行输入参数的验证,如果传递的对象不符合定义的模式(具有两个强制属性的强制对象),则会引发错误。
显然它不会发生。 任何线索?
答案 0 :(得分:1)
免责声明:我是LoopBack的核心开发人员,也是strong-remoting@3.x中参数验证的作者。
LoopBack不支持在调用远程方法时验证客户端提供的嵌套对象属性。现在,我们仅检查该值是否为对象,请参阅强远程处理中的lib/types/object.js。
在即将发布的LoopBack 4版本中,我们计划支持输入参数的完整OpenAPI和/或JSON Schema验证,请参阅https://github.com/strongloop/loopback-next/issues/118
根据GitHub问题中的评论,将基于JSONSchema的验证添加到LoopBack 3.x应该相对容易。