Debugging 什么是一个好的过程,以避免改变后端打破东西在前端?

Debugging 什么是一个好的过程,以避免改变后端打破东西在前端?,debugging,frontend,backend,software-design,Debugging,Frontend,Backend,Software Design,我们有一个项目,在这个项目中,后端人员不断地对其端点进行更改,有时在前端,我们有一些奇怪的bug,在与后端人员交谈后,我们发现这是他们所做的新更改 这种错误有时很难跟踪,而且浪费时间。因为我们的代码有一天可以工作,然后当RESTful api被更改时,我们不知道我们看到的代码不再工作了 有什么好方法可以避免这种情况?避免这种情况的好方法是什么。您的公司是如何做到这一点的?您应该拥有带有版本号的API。和新的后端功能,或对后端的更改,应该有一个新的API版本号;旧的API版本号应始终返回相同的结果

我们有一个项目,在这个项目中,后端人员不断地对其端点进行更改,有时在前端,我们有一些奇怪的bug,在与后端人员交谈后,我们发现这是他们所做的新更改

这种错误有时很难跟踪,而且浪费时间。因为我们的代码有一天可以工作,然后当RESTful api被更改时,我们不知道我们看到的代码不再工作了


有什么好方法可以避免这种情况?避免这种情况的好方法是什么。您的公司是如何做到这一点的?

您应该拥有带有版本号的API。和新的后端功能,或对后端的更改,应该有一个新的API版本号;旧的API版本号应始终返回相同的结果,保持不变

然后,如果后端发生更改,他们可以通知您应该使用一个新版本,带有新的API版本号,您可以随时切换到该版本


我在客户端软件中使用的另一种方法(这一点更为重要,因为我不能强迫最终用户升级他们的软件):我检查从服务器上获得的所有信息,并在开发人员的机器上记录所有不符合我期望的信息。因此,如果服务器更改了它发送给我的内容,我会很快知道(如果它影响到我们的最终用户,那就要付出惨重的代价)

我接受@gnasher729的回答。但是,如果我们不对RESTAPI进行版本化,那么我们就必须采用不同的方法来处理此类问题

我们遵循下面的方法来传达RESTAPI更改。希望这也能帮助其他人


我们在一个中心位置(Git/projectcentral)保存一个restapi定义文档和WADL,其中包含每个web服务的示例请求和响应。因此,我们的后端团队在添加任何新服务或进行任何模式更改时,都会经常更新此文档。因此,通过定期参考本文档,我们的前端团队可以了解API中最近的修改。

感谢您的投入。您可以在“我检查从服务器获得的所有信息,并且所有不符合我期望的信息都会登录到开发人员的机器上”中进行扩展