Java API 比较器 JSON 解析器

问题描述 投票:0回答:1

我正在开发一个项目,该项目涉及比较两个不同 REST API 的响应。这些 API 收到相同的请求,但我需要验证 JSON 响应是否相同。

如果有任何差异,我想查明具有不同值的特定标签。另外,执行时间有没有延迟? 需要定期对大量 API 进行这种比较,这使得手动检查不可行。 我希望使用 Java 来自动化这个过程。我相信自定义 API 比较器程序可能是一个很好的解决方案。

这是我希望实现的目标:

  • 将相同的请求发送到两个单独的 REST API。解析 JSON 来自两个 API 的响应。将解析的 JSON 结构与 找出任何差异。如果存在差异,请指出具体差异 具有不同值的标签(键)。跟踪每个项目所花费的时间 执行

我的问题是: 有效比较嵌套 JSON 结构的最佳方法是什么? 如何有效处理API调用或JSON解析过程中潜在的错误?

我已经做了一些初步研究,并找到了一些有关使用 Apache HttpClient 和 Jackson 等库来发出 HTTP 请求和解析 JSON 的资源。

但是,我非常感谢社区提供有关构建强大且高效的 API 比较器的任何见解或指导。

java json api rest
1个回答
0
投票

如何进行测试?

当尝试测试与其他服务通信的应用程序时,我们可以执行以下两种操作之一:
  1. 部署所有微服务并执行端到端测试

  2. 在单元/集成测试中模拟其他微服务

两者都有各自的优点,但也有很多缺点。

部署所有微服务并执行端到端测试

优点:

  1. 模拟生产

  2. 测试服务之间的真实通信

缺点:

  1. 要测试一个微服务,我们必须部署 6 个微服务、几个数据库等。

  2. 进行测试的环境将被锁定以进行一组测试(即其他人无法同时运行测试)。

  3. 要跑很长时间

  4. 反馈很晚

  5. 极难调试

在单元/集成测试中模拟其他微服务

优点:

  1. 反馈非常快

  2. 无基础设施要求

缺点:

  1. 服务的实现者创建存根,因此它们可能与现实无关

  2. 通过测试和失败的生产可以进入生产

参考:https://spring.io/projects/spring-cloud-contract

© www.soinside.com 2019 - 2024. All rights reserved.