gpt4 book ai didi

机器控制的REST接口(interface)设计

转载 作者:行者123 更新时间:2023-12-02 00:25:54 25 4
gpt4 key购买 nike

我有一个现有的应用程序来控制一台机器并想向它添加一个 REST 接口(interface)。两个高级命令是启动和停止机器操作。我本来想将这些操作映射到 POST 和 DELETE 动词,例如:

POST /control           // start machine operation
DELETE /control // stop machine operation

但我们并没有真正删除任何东西,只是停止操作。删除似乎不太合适。另一个想法是进一步拼写URL中的操作,例如

POST /control/start_operation    // start machine operation
POST /control/stop_operation // stop machine operation

但这似乎与不在 URL 中放置动词的 REST 概念相矛盾。 Stack Overflow 读者对如何最好地映射这种操作有什么建议吗?

最佳答案

REST 代表 Representational State Transfer,其中交互侧重于传输资源的状态

为了设计一个“合适的”REST 接口(interface),您首先必须定义正在传输的资源状态。

从您所说的看来,唯一要转移的状态似乎是机器的当前状态。为此,您实际上只是使用 REST 调用更新该状态,并且恰好有其他事件基于该状态发生。

最适合“更新状态并发生其他事情”模型的 HTTP 动词是 POST。您将 POST 到 /myMachineController/status,有效负载将是 onoff

一般来说,REST 是一种以数据为中心的服务范例,通常不太适合没有太多数据可供操作的地方。

关于机器控制的REST接口(interface)设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8914852/

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