这可能是一个愚蠢的问题,但我无法找到解决方案,搜索也没有运气。
我的节点 - 红色流由HTTP输入触发,因为我想创建一个REST Web服务。它到目前为止工作正常,但我想知道如何验证某人发送给我的内容。
正如我现在所看到的,我可以传递任何内容。如果内容与我想要输入的内容匹配,则无法验证。
如果我将content-type设置为application / json,它只接受json数据。这很棒,但我也想确保,用户只能发布一个特定的json字符串。
如果有人发送的数据我无法继续(不是我预期的json对象),我想发送HTTP 400作为响应。
我对Node-Red和json都很陌生。我是一位使用经典网络服务和肥皂的老派程序员。我缺少的是某种WSDL(不确定使用REST时是否存在)和某种有效负载验证。
如果有人能指出我要走的路,那就太好了。
祝你好运 帕特里克
答案 0 :(得分:3)
有一些节点可用于对JSON对象进行架构验证。
例如,node-red-contrib-json-schema-validator - 使用ajv作为验证引擎。不幸的是,这个节点没有太大的帮助。本质上,它允许您提供架构,如果消息无法验证,它会记录一个错误,如果需要,可以使用Catch
节点处理该错误。
答案 1 :(得分:1)
我发现了这个问题。太糟糕了。
我忘了将HTTP Header内容类型设置为application / json。
如果内容类型设置为corret,则node-red-contrib-json-schema-validator的工作方式类似于魅力