所以我想知道在不改变对象状态的对象上执行操作的最佳实践是什么。如果这对我没有意义,我认为推文示例解释了我想说的。
我了解这里描述的基础知识:
以及在更新/获取/删除等对象时它是如何工作的。但是不改变对象状态的动作呢?
例如,假设我们有一个 tweet 对象:
GET `/tweets (gets a list of tweets)
GET `/tweets/new (gets a new page to create a new tweet)
POST `/tweets (posts data to server to create new tweet)
GET `/tweets/:id (get a single tweet)
GET `/tweets/:id/edit (get a page to edit an exisiting tweet)
PUT `/tweets/:id (put data to server to edit exisiting tweet)
Delete `/tweets/:id (delete an exisiting tweet)
这对我来说很有意义。但是我如何形成回复/关注/转发/收藏的 URL,其中一些实际上并没有改变推文的状态?
我应该做下面的事情吗?
POST `/tweets/:id/reply (post the reply message to the server)
POST `/tweets/:id/follow (post a boolean? yes I follow?)
POST `/tweets/:id/retweet (again post a boolean?)
POST `/tweets/:id/favorite (ditto)
或者做一个
POST `/tweet/:id/actions (Do a post with the action I want to take as a parameter)
还是没有“标准方式”。无论如何感谢您的帮助!