节点 - 红色HTTP输入验证json

时间:2018-03-13 14:25:28

标签: rest node-red

这可能是一个愚蠢的问题,但我无法找到解决方案,搜索也没有运气。

我的节点 - 红色流由HTTP输入触发,因为我想创建一个REST Web服务。它到目前为止工作正常,但我想知道如何验证某人发送给我的内容。

正如我现在所看到的,我可以传递任何内容。如果内容与我想要输入的内容匹配,则无法验证。

如果我将content-type设置为application / json,它只接受json数据。这很棒,但我也想确保,用户只能发布一个特定的json字符串。

如果有人发送的数据我无法继续(不是我预期的json对象),我想发送HTTP 400作为响应。

我对Node-Red和json都很陌生。我是一位使用经典网络服务和肥皂的老派程序员。我缺少的是某种WSDL(不确定使用REST时是否存在)和某种有效负载验证。

如果有人能指出我要走的路,那就太好了。

祝你好运 帕特里克

2 个答案:

答案 0 :(得分:3)

有一些节点可用于对JSON对象进行架构验证。

例如,node-red-contrib-json-schema-validator - 使用ajv作为验证引擎。不幸的是,这个节点没有太大的帮助。本质上,它允许您提供架构,如果消息无法验证,它会记录一个错误,如果需要,可以使用Catch节点处理该错误。

答案 1 :(得分:1)

我发现了这个问题。太糟糕了。

我忘了将HTTP Header内容类型设置为application / json。

如果内容类型设置为corret,则node-red-contrib-json-schema-validator的工作方式类似于魅力