私のREST APIコンテキストのリソースはアプリケーションコードであるプログラミング言語で書かれています。 HTTP動詞に簡単にマッピングできるCRUD操作は、コードの保存/編集/削除です。 HTTPメソッドにマッピングするのが難しいCRUD以外の操作は、コードをサーバーにデプロイし、コードを実行し、デプロイ解除します。私が出会った非CRUDアクション用のREST APIデザイン。保存、デプロイ、コードの実行
一般的な提案はSOます:
- 再構築アクションはリソースの分野、例えばのように表示されるようにあなたの行動がエンジンを起動する場合は、URI:
PATCH engines/123
、本文:{"status":"active"}
- アクションをサブリソースのように扱います。
PUT engines/123/active
本文なし - クエリパラメータを使用します。
PUT engines/123?activate=true
- 実用的であり、RESTfulでないRPCスタイルのURL(例: #1、#2で提案されているよう
PUT engines/activate?id=123
は、私は間違いなく、リソースへdeploy
/undeploy
/execute
コードアクションに合わせてすることはできませんよ。これらのアクションのためにAPIを設計する最良の方法についてご意見をお寄せください。
SO類似記事: (1)http://stackoverflow.com/q/21794744/389489、 (2)http://stackoverflow.com/q/16717819/389489、 (3)のhttp:/ /stackoverflow.com/q/16091947/389489 – Somu