我有一个Ruby on Rails API。其中一个ActionRecord模型是一个事务。我希望能够使用http://localhost:3000/transactions/1/fulfill
之类的链接,其中1
是数据库中事务的id。
据我了解,应该避免
GET
请求,因为服务器上的数据是通过操作修改的。我会使用POST
请求或PUT
请求吗?如果请求正文在通话中为空,可以吗?
答案 0 :(得分:1)
要获得RESTful API,您必须将所有内容都压缩到CRUD范例中。这是REST的一个众所周知的缺点。非CRUD操作通常伪装成资源创建或资源更新,尽管它是违反直觉的。在您的情况下,操作会更新银行帐户和交易。 REST没有一次更新两个资源的特定方法,因此您必须选择以下不完美的解决方案之一:
如果是POST,则允许空体。在PUT的情况下,正文表示整个资源的新版本。在PATCH的情况下,正文表示资源的更新部分。
答案 1 :(得分:0)
id使用帖子。因为您正在创建交易履行。没有空身。