gpt4 book ai didi

Rest API 设计 PUT 与 PATCH

转载 作者:行者123 更新时间:2023-12-02 04:06:31 30 4
gpt4 key购买 nike

我正在开发 2 个 REST API,它们可以在我的后端编辑和暂停某些内容。对于编辑我使用的是:

PUT /video/1

开发暂停视频服务的最佳方式是什么。我应该使用 PATCH 还是 PUT 来实现此目的?输入只是 id。如果我使用 PUT 那么如何区分编辑和暂停?如果我要开发另一个 API,例如:视频重新启动,我如何在 REST API 中容纳这些动词?

最佳答案

仅使用 HTTP 方法区分状态是一个糟糕的主意。你能做的是:

  1. 引入state,然后使用PATCH改变状态:

    PATCH /vidoes/1
    {
    "state": "PLAYING|PAUSED|STOPPED" // what you need here
    }

心灵don't patch like an idiot ,但是像白痴一样打补丁是很常见的。

  • 引入新端点来反射(reflect)在资源上调用的操作 - 这并不完全是 RESTful,但也很常见:

    POST /vidoes/1/play/
    POST /vidoes/1/stop/
    POST /vidoes/1/pause/
  • PUT 进行编辑当然可以,但请记住 PUT 是幂等的,需要发送资源。

    关于Rest API 设计 PUT 与 PATCH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39209814/

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