33

POST、GET、PUT、DELETE を使用してメール送信サービスの REST API を設計するには?

send: POST - /email
retrieve: GET - /email/{id}
delete: DELETE - /email/{id}

REST API を設計する正しい方法ですか? POSTをアクション「送信」にマッピングするのは直感的ではないように感じます。

4

1 に答える 1

43

あなたが与えたスキームは正しいです。または、コントローラーを使用して、より複雑なアクションを実行することもできます。

あなたの場合、それは次のようになります:

(action)           (verb)   (URI)                             (type)
create:            POST   - /emails                         - collection
retrieve:          GET    - /email/{id}                     - resource
update:            PUT    - /email/{id}                     - resource
delete:            DELETE - /email/{id}                     - resource
send immediately:  POST   - /email/{id}/sendImmediately     - controller
just send:         POST   - /email/{id}/send                - controller
do something else: POST   - /email/{id}/someOtherActionType - controller

新しいコントローラーと変更の作成が機能することに注意してください。/email後者はかなり主観的ですが、合理的です(私が「」の部分なしで「」と解釈するように、「実際の電子メールなし」のURLに実際にアクセスすることはできないため{id})。

追加のリソース:

于 2012-09-07T03:59:41.447 に答える