在不同版本之间,请求和响应可能会有一些细微的变化(通常是新字段的添加)。
如果我们要淘汰旧版本,如何继续为旧版本提供服务?
其中一个解决方案的方面涉及创建“虚拟端点”,将旧版本的请求路由到相同服务的新版本。因此,对于/v1/customer/1的请求映射到/v2/customer/1。我们使用Mashery可以轻松完成此操作。
我们还想对请求和响应应用转换规则,以生成符合旧合同的XML和JSON响应。
总之,我们需要将路由和转换规则应用于所有传入消息和响应。ESB是否过度?我们的标准不完全符合http://blogs.mulesoft.org/to-esb-or-not-to-esb/中概述的标准。是否有更简单的解决方案?不需要修改我们的代码来实现请求和响应的版本控制吗?