API のリソースを着実に構築していますが、RESTful API を構築する正しい方法について多くの調査を行った結果、「複雑な」リクエストを受信する方法の例を見つけることができませんでした。
たとえば、ログイン プロセス (認証キーの更新にすぎません) の一部として、次の URI がクライアントによってディスパッチされます。
/api/auth/login
URI に値はありません。リソースは/auth/
で、トリガーされるコマンドは です/login/
。実際のログインの詳細は、サーバーの Authorization ヘッダーに送信されます。
さて、私がこの質問をするようになったのは、キーの有効期間をクライアントが確認できるようにするコマンドを書いていたときに、すぐに getkeyexpiration
コマンド名またはそれに似たものに惹かれました。
突然、これは 6 つの制約で読んだものとは違うと感じました。これは操作呼び出しのように感じます。
では、上記の例に基づいて、これはまだ RESTful API ですか? URI リソース名と追加された値を使用するだけではこれを実行する方法が思いつかないので、私は心配しています。
ありがとうございました
編集:
これを読んでから:http://blog.steveklabnik.com/posts/2011-07-03-nobody-understands-rest-or-http
リソースに名前を付け、リソースに名詞のみを使用することで、サーバーがどのように動作するかのコンテキストがより明確になることを理解し始めています。
上記の例について:
/api/auth/login
リソースのコンテキストであるため、ログインのプレフィックスとして auth を使用しました。システムを拡張できるように設計しており、URI レベルでリソースを分類する方法が必要です。これを行う標準的な方法はありますか?