rpcVerify2.md 2.1 KB

# rpcVerify2

{"type":"Switch", "body":[

{"condition":{"type":"not in","path":"caller.source" , "value":["Internal","Outside"] }, "value": {"type":"", ssError} } , {"condition":{"type":"!=","path":"caller.source" , "value":"Internal" }, "value": {"type":"", ssError} }

] }

SsExp 目前支持以下几种表达式

//path 可不指定

{"type":"SsExp",  "path":"a.b"  ,"value":SsExp  }

{"type":"Cur",  "path":"a.b"  }  //返回当前path索引的值

{"type":"Value", "value":Value  } //返回Value

{"type":"_", ...  }  //直接返回当前表达式 

{"type":"Switch", "path":"a.b"  ,   "body":[  {"condition":SsExp,"value":SsExp } ,...   ] , "default":SsExp   }


以下为bool表达式,默认返回值为bool类型,也可手动指定满足条件时的返回值
均存在如下属性:
resultWhenNull   存在null值时的返回值,默认false
resultWhenTrue   结果为true时的返回值,默认为true
resultWhenFalse 结果为false时的返回值,默认为false


{"type":"If", "path":"a.b"  ,"condition":SsExp }                 

{"type":"And",    "path":"a.b",    "value":[  SsExp1,SsExp2 ...        ]   }

{"type":"Or",    "path":"a.b",    "value":[  SsExp1,SsExp2 ...        ]   }

{"type":"Not",    "path":"a.b",    "value":SsExp    }

{"type":"NotNull",    "path":"a.b",    "value":SsExp    }

{ "type":"Regex",    "path":"a.b",    "value":SsExp  }  //正则匹配

{"type":"==",    "path":"a.b",    "value":SsExp  }

{"type":"!=",    "path":"a.b",    "value":SsExp  }

{"type":">",    "path":"a.b",   "value":SsExp   }

{"type":">=",    "path":"a.b",    "value":SsExp    }

{"type":"<",    "path":"a.b",    "value":SsExp   }

{"type":"<=",    "path":"a.b",    "value":SsExp    }

{"type":"in",    "path":"a.b",    "value":SsExp  }   //value 值必须为数组,否则返回 false

{"type":"not in",    "path":"a.b",    "value":SsExp }   //value 值必须为数组,否则返回 true