什么是基于 Rest 的发现 API
What is discovery based in Rest API
什么是基于发现的 REST API?
据我从该参考资料中了解到的情况https://en.wikipedia.org/wiki/HATEOAS 基于发现的 REST API 始终为响应中的下一个或多个可能的操作提供 link。
如文章中所示,下面的示例是对 HTTP GET 请求的响应。我可以看到下面的代码附加了几个不同的选项,比如存款、取款、转账和关闭。
<?xml version="1.0"?>
<account>
<account_number>12345</account_number>
<balance currency="usd">100.00</balance>
<link rel="deposit" href="http://somebank.org/account/12345/deposit" />
<link rel="withdraw" href="http://somebank.org/account/12345/withdraw" />
<link rel="transfer" href="http://somebank.org/account/12345/transfer" />
<link rel="close" href="http://somebank.org/account/12345/close" />
</account>
基于发现的 REST API 也是如此,响应 "ALSO" 给出了系统中存在的不同可能性(ofc 仅以正确顺序提及的逻辑可能性) ?
是的,你是对的:在那个系统中 特定 资源。
假设在您的示例中,余额为 0 美元,并且银行政策规定您不能在没有正余额的情况下取款。 "withdraw" link 将不会出现在选项列表中。
什么是基于发现的 REST API?
据我从该参考资料中了解到的情况https://en.wikipedia.org/wiki/HATEOAS 基于发现的 REST API 始终为响应中的下一个或多个可能的操作提供 link。
如文章中所示,下面的示例是对 HTTP GET 请求的响应。我可以看到下面的代码附加了几个不同的选项,比如存款、取款、转账和关闭。
<?xml version="1.0"?>
<account>
<account_number>12345</account_number>
<balance currency="usd">100.00</balance>
<link rel="deposit" href="http://somebank.org/account/12345/deposit" />
<link rel="withdraw" href="http://somebank.org/account/12345/withdraw" />
<link rel="transfer" href="http://somebank.org/account/12345/transfer" />
<link rel="close" href="http://somebank.org/account/12345/close" />
</account>
基于发现的 REST API 也是如此,响应 "ALSO" 给出了系统中存在的不同可能性(ofc 仅以正确顺序提及的逻辑可能性) ?
是的,你是对的:在那个系统中 特定 资源。
假设在您的示例中,余额为 0 美元,并且银行政策规定您不能在没有正余额的情况下取款。 "withdraw" link 将不会出现在选项列表中。