【问题标题】:What shoul the appropriate Restful API verb for a non CRUD opperation?对于非 CRUD 操作,适当的 Restful API 动词应该是什么?
【发布时间】:2020-06-16 05:53:33
【问题描述】:

我有一个在 AWS-API Gateway 中运行的 API,我尽可能遵循 Restful 标准。

现在我有一个应该接收 JSON 并验证它的端点。这不是CRUD 操作 - 我在这里没有与数据库交互。

我的第一个选择是使用 POST 动词并在正文中传递 JSON。但这不是“创建资源”操作。这不是 GET 操作,因为我没有查询任何数据库,而且在 GET 动词中使用 paylod 也不是一个好习惯。

为了尽可能地附加到 Restful 标准,什么最适合这种情况?

【问题讨论】:

    标签: json rest api httpverbs


    【解决方案1】:

    你说得对,它不是 CRUD,没关系

    POST 实际上应该用于更新,有时用于创建,而 PUT 是专门用于在面向对象的宁静设计模式中创建新对象的动词。

    您的用例绝对不是面向对象的;它是功能性的。在面向功能服务的架构中,POST 是您的“类 REST”用例的绝佳选择。

    如果 CRUD 和真正的 RESTful 设计模式不能满足您的需求,请不要使用它们。

    【讨论】:

    • 请注意还有其他方法,例如为 WebDAV 创建的方法,如果基础设施支持它,您可以(错误)使用 REPORT 之类的方法 this question询问。
    猜你喜欢
    • 2016-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-19
    • 2017-11-13
    • 1970-01-01
    相关资源
    最近更新 更多