したがって、オブジェクトの状態を変更しないオブジェクトに対してアクションを実行するためのベストプラクティスを知りたいと思います。それが意味をなさないのであれば、ツイートの例は私が言おうとしていることを説明していると思います。
私はここで説明されているような基本を理解しています:
最良/一般的なRESTfulURL動詞とアクションは何ですか?
また、オブジェクトを更新/取得/削除する場合などにどのように機能するか。しかし、オブジェクトの状態を変更しないアクションについてはどうでしょうか。
たとえば、ツイートオブジェクトがあるとします。
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)
または、「標準的な方法」はありません。とにかく助けてくれてありがとう!