基本的なCRUD操作のURLを構造化する方法についてたくさんの例を見てきましたが、コマンドに似た操作やアプリケーションサービスの呼び出しについてはほとんど見ていません。アプリケーションサービス呼び出しのRESTful URL規則を修正しましたか?
たとえば、アプリケーションサービスでRemoveOldOrders(int customerId)のように、idが "customerId"の顧客の注文が2歳以上のシステムから削除されたとします。私の安らかなサービスのURLはどのように見えますか?コールのペイロードはどのように見えますか?どのようなHTTPメソッド(POST?)を使用しますか? (得意先がURLから来るように)POSTなど
/顧客/ 1/RemoveOldOrders、空のボディを持つ:
私の考えでは、それはこのようなものになるだろうです。
このようなガイドラインはありますか?
更新:重複する可能性のある投稿についてのコメントの代わりに私の質問を明確にする必要があるように感じます(はい、その投稿は本質的に同じことを求めていますが、 )。
リソースに対して操作を実行したいが、その操作が標準HTTP動詞に適合しない場合はどうすればよいですか?
もう1つの例:私のアプリケーションはESBに接続されており、処理のためにリソースをESBに強制的に投影する方法が必要ですか?
ExportCustomer(int customerId)
は今、RESTfulなサービスの場合には、どのように私は、URIでこのアクションを表すことができます:私の現在のSOAPベースのWebサービスでは私のような方法があるだろうか?
POST http://someapp/api/customer/1/export
かになります:ブライアン・ケリーの答えからオプション1のようなもの、最も論理的なように思える
POST http://someapi/api/customer/export/1
は良いかも?
重複する可能性があります質問:http://stackoverflow.com/questions/6850187/non-crud-operations-in-a-restful-service – smcg