【问题标题】:Combining REST API with RPC结合 REST API 和 RPC
【发布时间】:2014-10-10 13:08:56
【问题描述】:

我正在开发一个类似 CRM 的应用程序,该应用程序通过 REST api 管理公司列表:

GET     /api/companies
POST    /api/companies
PUT     /api/company/1
DELETE  /api/company/1

现在宣布了一项新要求:API 必须提供一种将某些属性从一家公司复制到另一家公司的方法。有几个属性集可以独立复制 - 例如,经理列表和付款信息。

将这种方法添加到现有 API 的最佳方式是什么?

【问题讨论】:

    标签: rest rpc


    【解决方案1】:

    您能否澄清一下您的 PUT 和 POST 操作是做什么的?

    如果我必须设计这样的 API,我会这样做

    • GET /api/companies -> 获取公司列表
    • POST /api/companies -> 将新公司添加到列表中(即,它将 在 /api/companies 列表中添加一个新的并为 新公司为 /api/companies/1)
    • PUT /api/companies/1 -> 修改公司信息
    • DELETE /api/companies/1 -> 删除公司

    在这种情况下,如果我想将一些信息从公司 1 复制到公司 2

    • GET /api/companies/1
    • GET /api/companies/2

    将必要的信息从公司 1 状态复制到公司 2 状态,然后

    • PUT /api/companies/2

    这是您需要的,还是您需要在单个 HTTP 操作中复制这些信息?

    【讨论】:

    • 糟糕,我混淆了 PUT 和 POST 网址 - 现在已修复。
    • 感谢您的回答。然而,将整个数据对象发送到客户端然后再发送回服务器似乎是多余的。难道没有任何命名操作的约定与 CRUD 操作不对应吗?
    猜你喜欢
    • 2013-11-04
    • 1970-01-01
    • 2021-03-02
    • 2012-06-02
    • 1970-01-01
    • 1970-01-01
    • 2011-08-27
    • 1970-01-01
    • 2012-03-23
    相关资源
    最近更新 更多