gpt4 book ai didi

rest - 通过示例了解 REST

转载 作者:行者123 更新时间:2023-12-04 13:55:31 28 4
gpt4 key购买 nike

我唯一真正接触到 REST 的想法已经通过 Ruby on Rails 的 RESTful routing .这非常适合我使用 Rails 构建的基于 CRUD 的应用程序,但因此我对 RESTfulness 的理解有些有限。

假设我们有一个有限的项目集合,每个项目都有一个唯一的 ID 和许多属性,例如颜色、形状和大小(对于某些项目可能未定义)。

元素可以被一个客户端使用一段时间,但每个元素一次只能被一个客户端使用。对元素的访问由服务器管理。客户端可以从服务器请求临时使用某些项目。

通常,客户端只对访问具有特定属性的多个项目感兴趣,而不是访问特定项目。

当客户端请求使用多个项目时,服务器以与请求对应的 ID 列表作为响应,或者以表示所请求的项目当前不可用或不存在的响应进行响应。

客户端可以发出以下类型的请求:

  • 告诉我有多少个绿色三角形项目(总共/可用)。
  • 给我使用200个大红色元素。
  • 我已经完成了第 21、23、23 项。
  • 添加 100 个新的红色方块元素。
  • 删除 50 个绿色的小项目。
  • 将所有大黄色五边形元素修改为蓝色。


  • 上面的玩具示例就像我最近不得不处理的资源分配问题。我应该如何以 RESTful 的方式考虑它?

    最佳答案

    理解的诀窍是从关注名词而不是动词来思考问题。

    在其他世界,动词都是“预设”的,名词变得无限灵活。在肥皂或 roc 世界中,动词是无限灵活的。将您的思维限制在锁定动词上,然后在您的限制范围内查看您需要使用哪些名词来解决您的问题。

    这正是 darrel 在上面的答案中所做的 - 他为锁创建了一个新名词,以满足您的约束,然后设置对它们的访问以实现您想要的。

    您的一些问题与搜索或过滤器相关 - 对于那些认为 GET 针对资源类型、传入查询参数以限制或过滤结果的人。

    关于rest - 通过示例了解 REST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2750659/

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