在没有实体的情况下执行HTTP POST被认为是不好的做法?

我需要调用一个不需要用户input的进程,只需要一个触发器。 我打算使用POST / uri没有身体来触发这个过程。 我想知道从HTTP和REST的angular度来看,这是否被认为是不好的?

几个月前,我在IETF HTTP工作组上提出了这个问题 。 简单的答案是,这是可以的,但我build议阅读更多细节的线程。

使用POST而不是GET是完全合理的,因为它还指示服务器(和一路上的网关)不返回caching的响应。

POST完全正常。 与POST不同的是,你正在改变系统的状态(很可能你的触发器正在“做”某些事情,改变数据)。

我已经使用POST没有有效载荷,它“感觉”确定。 有一件事你应该做的时使用POST没有有效载荷:通过头Content-Length: 0 。 我记得一些代理的问题,当我的客户端没有通过它。

如果你使用POST / uri而不使用body,那么就像使用一个不带参数的函数一样.eg int post(void); 所以对你的资源类有一个函数是合理的,它可以改变一个对象的状态而不需要参数。 如果你考虑为一个URI实现Unix的触摸function,不是很好的select吗?