【问题标题】:JSON Schema validation - Java POJO vs separate .json filesJSON 模式验证 - Java POJO 与单独的 .json 文件
【发布时间】:2019-09-13 18:10:41
【问题描述】:

我正在处理一个项目,该项目一直在使用 Java POJO,从中生成 JSON 模式并针对给定的 REST 端点响应进行验证。

这在大多数情况下都可以正常工作,但也有一些缺点,例如,当在给定端点中引入新的键值对时,我无法在 Jenkins 构建的自动化测试中看到响应中添加了某些内容(放心的 matchJsonSchema 方法不考虑预先在 POJO 类中未定义的额外项目 - 这意味着如果类中没有定义“x”字段并且在端点响应中检索到它,测试仍然会通过)。

在 JSON 标准中有一个“maxProperties”键可用,可以根据它验证架构,但这意味着我需要向我的存储库添加约 40 个 .json 架构文件并定义当前返回键的数量-值对。

一般来说,我想知道在维护方面有什么更好的方法 - 将模式单独保存在 .json 文件中,或者在 Java POJO 类中以编程方式创建它们以进行验证?我认为理想情况下,最好根据 API 在线可用的 swagger 文档来验证响应,但由于我从未有机会触及该主题,我想知道潜在的缺点是什么。

【问题讨论】:

    标签: java json swagger rest-assured


    【解决方案1】:

    在 POJO 类中使用 JSR 303 验证,这使您的应用程序变得简单 @size(min= “”,max=“”) 并且您必须在 rest 控制器类中使用 @valid 注释

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-06-16
      • 2021-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-19
      • 2012-09-22
      相关资源
      最近更新 更多