【问题标题】:API Design - create 2 different resources on one routeAPI 设计 - 在一条路线上创建 2 个不同的资源
【发布时间】:2012-05-21 14:27:03
【问题描述】:

我正在设计一个与移动应用程序一起使用的 API,但我遇到了一个特定的要求。在一种情况下,我需要创建两个不同的资源,我更愿意使用一个 HTTP 请求来完成,因此我不必处理多个请求和回调等。

为简化起见,我有一个名为 Buckets 的资源和一个名为 Apples 的资源。 Buckets 包含许多 Apple,Buckets 也可以由用户命名。用户命名一个 Bucket,然后在整个应用程序中,可以将不同的 Apples 实例分配给该特定的 Bucket。

我不清楚如何创建我的路线如果用户正在查看 Apple 并希望将其分配给具有全新名称的存储桶。在这种情况下,我的路由必须首先使用新名称创建 Bucket,然后将 Apple 添加到该 Bucket。

到目前为止我的一些路线是:

POST /buckets                    # create a new bucket
POST /buckets/:bucket_id/apples  # create a new apple within an existing bucket

这条混合路线会是什么样子?也许是这样的:

POST /buckets/new/apples         # post data would contain NAME of new bucket and ID of apple

欢迎任何建议,但重申一下,我真的很想在一个 HTTP 请求中完成所有这些。不确定这是否违反了 RESTful 设计模式。

【问题讨论】:

    标签: ruby-on-rails-3 api rest routes


    【解决方案1】:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-19
    • 2016-04-19
    • 1970-01-01
    相关资源
    最近更新 更多