gpt4 book ai didi

http - 符合 RESTful 标准的设计

转载 作者:可可西里 更新时间:2023-11-01 16:28:56 28 4
gpt4 key购买 nike

假设我需要开发一个 REST 银行应用程序允许创建/销毁银行账户以及对帐户进行以下操作:withdraw/credit/getBalance。

  • 创建帐户

PUT/银行/约翰

这里我使用 PUT 而不是 POST 因为这个操作是幂等并且因为客户端正在提供 URL

  • 销毁帐户

删除/银行/约翰

  • 获取余额

获取/银行/约翰

  • 从账户中取款

POST/银行/约翰

action=withdraw&value=10

  • 将钱存入帐户

POST/银行/约翰

action=credit&value=10

在这里,我使用了 POST,因为取款/信用显然不是幂等的

它是设计这些操作的 RESTful 兼容方式吗?

我有一种感觉,我正在通过将动词 (withdraw | credit) 放在里面来编写类似 RPC 的东西操作参数 .. 我经常读到 REST 不应该模仿类似 RPC 的风格 ...

最佳答案

在处理 REST 时,从资源的角度考虑通常会有所帮助。在这种情况下,您的资源不仅是您的“银行账户”,而且是该银行账户的交易。

存款

POST /Bank/Account/John/Transaction

currency=USD&amount=10

退出

POST /Bank/Account/John/Transaction

currency=USD&amount=-10

您的响应应该包括一个 Location header 到这个新创建的交易。

您正在创建交易。这样做的好处是您可以将该交易作为资源引用。

GET /Bank/Account/John/Transaction/12345

这可能会返回确切交易的记录(例如,您的用户通常需要他们帐户的借方和贷方记录)。

关于http - 符合 RESTful 标准的设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9540653/

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