我已经按照标准成功实现了 RestFul API,但尚未将所有功能纳入我的 API 中。例如,我的 API 目前遵守 URI 标准和按照解释的标准正确使用动词。我想要实现的是根据本文实现的 3 级 API
这意味着我正在尝试在我的 Restful API 中实现 HATEOAS。我已经开始阅读文章来了解它,但对于得到我想要的东西却有一个模糊的愿景。我需要的是制定一个基本计划,确定哪些步骤对 HATEOAS 很重要?
好吧,我有一个 Rest API,它将请求邮政编码发送到服务
http://localhost:8080/api/india/{postcode}
这里的邮政编码是路径参数。
当被调用时,它会响应该特定邮政编码的所有可能的地址匹配。 现在,我制作的 API 能够以 xml 和 json 格式给出正确的响应,我没有任何提示。现在,下一步我需要实现 HATEOAS 功能 在此 API 中。我已经对 HATEOAS 有基本的了解,但我的疑问是它如何适用于我的 API。
最佳答案
HATEOAS 背后的想法是,除了初始 URL 之外,您不需要预先了解 API。
在您的情况下,这可能是网址:
http://localhost:8080/api/
该 URL 上的资源可能包含各个国家/地区的链接列表,导致
http://localhost:8080/api/india
http://localhost:8080/api/china
http://localhost:8080/api/australia
等等。在这些资源中可能有进一步的链接或表格或两者都通向
http://localhost:8080/api/india/{postcode}
当然,您可能在首页上有一个表单,直接指向最终 URL 以及更多变体。
这种设计的结果是,您的应用程序可以随时更改 URL,而不会破坏任何内容。
一个重要的实现细节是用于传达链接目的的“rel”。这个目的的解释实际上必须进入客户端的实现,这是一个无赖,但我想,直到所有 http 客户端都实现了真正强大的人工智能,这是我们唯一的选择。
关于java - 如何在当前的Rest API中实现spring Hateoas?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28878665/