通过spring-boot来开发其余端点,以消耗另一个微服务(外部)的资源,因为这两个服务都处于开发阶段,所以请求和响应中经常会有很多更改。很多时候,由于目标微服务的响应发生了变化,我们的微服务失败了。
为避免此失败,我们想到了在调用客户端中定义JSON模式以描述预期的响应。
如果存在架构不匹配,则记录一条错误消息,前缀为“ JSON_SCHEMA_MISMATCH”。
请告知是否还有其他更好的解决方案,以更通用的方式处理此问题,这意味着同样的方法也可以用于其他微服务,而无需重复代码。
答案 0 :(得分:0)
您可以使用对象直接从服务中获取值。
例如-
VOClass vOobject = restTemplate.getForObject(URL,VOClass.class,params);
您正在使用的微服务也应该返回相同的对象,或具有相同变量名的json。 如果响应中有变量与VOClass对象中的变量匹配,则将设置这些值,而那些不匹配的值将为null。 此外,如果微服务返回了新的变量,则可以通过在VOClass中添加这些变量来推断它们。