【发布时间】:2021-08-11 06:25:19
【问题描述】:
我有一个 api 项目,它需要根据一组规则验证有效负载。为此,我编写了一个空手道功能文件,其中包含传入请求 json 有效负载所需的所有断言。然后特征文件根据满足的条件返回真或假。这种机制目前在我的本地运行良好。
是否建议将此方法用于生产用例?这种格式的空手道框架是否能够在很短的时间内处理大量的请求?
【问题讨论】:
标签: karate rule-engine
我有一个 api 项目,它需要根据一组规则验证有效负载。为此,我编写了一个空手道功能文件,其中包含传入请求 json 有效负载所需的所有断言。然后特征文件根据满足的条件返回真或假。这种机制目前在我的本地运行良好。
是否建议将此方法用于生产用例?这种格式的空手道框架是否能够在很短的时间内处理大量的请求?
【问题讨论】:
标签: karate rule-engine
这里是空手道的开发者,我真的很喜欢你的问题,因为它验证了我个人的看法,即空手道只是让使用 JSON 变得容易。
为什么我不建议将其用于生产用途,因为空手道嵌入了一个 JS 引擎,可以使用“脚本注入”攻击来攻击该引擎。空手道专为“本地”运行的用户而设计,没有内置保护措施来防止任何通过 JSON 有效负载进入的恶意攻击。
另一个问题是性能,我个人非常有信心,因为空手道与加特林一起使用,并且多年来已经进行了一些工作来提高性能。但归根结底,空手道确实在解释模式下使用 JS 引擎。因此,您需要自己运行性能测试或负载测试,以验证空手道是否可以处理您期望的音量。
也许您可以为空手道做出贡献以解决上述两个问题!
【讨论】: