假设我有一个Django REST API和一个AngularJS客户端。假设我进行了API更改,以便为客户端实现新功能 我(几乎)同时将API和客户端更改推送到生产中。新的API版本将运行,但可能仍有多个客户端在用户浏览器上运行旧代码。
在浏览器上推送和重新加载代码的常用做法是什么?
答案 0 :(得分:1)
处理这些案例的最佳方法是按版本推出api更改,就像Facebook和Google一样。
旧客户端将继续调用已弃用的api,而新客户端将调用新的api。
注意:清理旧版本时,必须让您的客户知道您正在放弃对旧版客户的支持!
示例:
//Old deprecated api
GET /api/v1/users
GET /api/v1/cars
//New api - if logic did not change just redirect to old api
GET /api/v2/users (unchanged) --> redirect to /api/v1/users
GET /api/v2/cars new implementation
这样,您可以保持代码的有序性,同时仍然支持旧客户。