我试图重构一些旧的API,通过改变响应代码.但这是调用这些API的客户端在他们的逻辑使用这些响应代码.那么如何改变响应代码的API不破坏客户端,没有API版本?我知道我们可以对API进行版本化,但是我们必须与客户端进行通信,以便他们可以相应地更改代码。那么有没有一种通用的方法来做到这一点呢?
b1payxdu1#
一种方法是让客户端告诉您它编码的API版本,并让服务器相应地进行调整。向后兼容性可以处理:如果客户端在其请求中不包括“版本指示符”(因为现有客户端不会这样做),则这意味着最旧的版本。你将不得不拥有(至少)两套响应代码,一套是现在使用的,另一套是你想使用的,这就是兼容性的代价。根据你的用户群,你可以弃用并最终消除旧的API。通常这是一个声明,“旧的API将在x. y版本中被删除”。
1条答案
按热度按时间b1payxdu1#
一种方法是让客户端告诉您它编码的API版本,并让服务器相应地进行调整。
向后兼容性可以处理:如果客户端在其请求中不包括“版本指示符”(因为现有客户端不会这样做),则这意味着最旧的版本。
你将不得不拥有(至少)两套响应代码,一套是现在使用的,另一套是你想使用的,这就是兼容性的代价。
根据你的用户群,你可以弃用并最终消除旧的API。通常这是一个声明,“旧的API将在x. y版本中被删除”。