gpt4 book ai didi

java - HATEOAS 和 API 的动态发现

转载 作者:行者123 更新时间:2023-12-04 05:12:40 25 4
gpt4 key购买 nike

HATEOAS 原则“客户端仅通过服务器在超媒体中动态识别的操作进行状态转换”

现在我对动态这个词有疑问,尽管我猜它是那里最重要的一个词。

如果我在 API 中将我的参数之一从可选更改为强制,我 修复我的客户,否则请求将失败。

简而言之,HATEOAS 所做的只是让服务器端开发人员可以随意更改 API,但代价是所有客户端都使用他/她的 API。

我这样说是对的,还是我错过了诸如版本控制之类的东西,或者服务器必须采用的除 JSON 之外的其他媒体类型?

最佳答案

每当您将 API 中的参数从可选参数更改为必需参数时,您都会破坏该 API 的使用者。它是一个遵循 HATEOAS 原则的 REST API 并不会以任何方式改变这一点。相反,如果您希望保持兼容性,则应避免进行此类更改;确保客户端针对旧 API 编写的任何调用或发送的消息将继续按预期运行。

另一方面,不要让客户端期望返回的元素集总是相同的,这也是一个好主意。如果服务器选择提供它,他们应该能够忽略服务器提供的附加信息。同样,这只是很好的 API 设计。

HATEOAS 不是问题。过分严格的 API 期望是问题所在。 HATEOAS 只是问题解决方案的一部分(因为它可能使客户不必了解大量有关服务状态模型的信息,即使它不一定使它变得直截了当)。

关于java - HATEOAS 和 API 的动态发现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14709702/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com