我有一个后勤问题:我试图找出管理API与应用程序不同步的最佳方式.最好的解释方式就是一个例子:
让我们将MyApp 1.0版发布到需要first_name,last_name和email的“submit_FeedbacK”API中.
然后我将MyApp 2.0版提交到App Store.该版本旨在将first_name,last_name,gender和email发送到API.所有这些都是API上必需的字段.
我有这个问题:
– 如果我在新的应用程序生效之前更新API,它会破坏版本1.0
– 如果我等到版本2.0是直播和远程跛脚1.0,我必须正确的时间.
我要猜测,“正确的答案”是维护两个不同的API.但是如果两个API发布到同一个实时数据库,这样做有点尴尬.
有谁有建议如何建模这个?
解决方法
这个问题可能与
iOS consuming API design共享某些方面.
正确的答案肯定是提供两个API(至少在用户调整的短时间内).您不必同时维护两个版本,因为一旦发布了一个较新的版本,您可以维护这个版本,只需为旧用户提供旧的版本.您可能必须做的唯一真正的变化就是安全补丁或重大问题.主要更改(例如您决定重组整个数据库)可能会导致旧版本不再运行,但是更新到较新的API版本应设计为允许以前的版本仍然可以运行.
另一个问题,我链接到你,给出一个答案,说明如何让不同版本的应用程序访问正确的API版本.
另一个注意事项是,您可能会更容易(根据您使用的框架)将API设计为引擎或子广告,并将其安装在不同的终点.我知道在Rails中使用引擎很容易实现,而在Node中使用带有子应用程序的app.use()节点.