2009-09-03 20 views
0

私はSpring 3を使用して快適なWeb​​アプリケーションを作成しています。アプリケーションの一部は、送信時にさまざまなアプリケーションログファイルが添付された電子メールの送信をトリガーするフォームです。私はこのフォームの提出を 'POST'または 'PUT'として扱うべきかどうかはわかりません。ログ添付ファイル付きメールフォームの投稿または投稿

私の問題は、構造的にはプロセスが冪等である(したがってPUTの候補)と思われることです。同じデータでn回送信された同じリクエストは、常に同じテキストコンテンツを持つメールを同じ同じファイルシステムの場所からのファイルが添付されています。

ただし、添付ファイルの内容は、要求の実行ごとに異なる可能性があります。

PUTまたはPOSTを決定する際に、これらのファイルの内容は私が興味を持っている範囲を超えていますか?私はここにポイントを完全に見逃していますか?

任意の考えは非常に事前に

多くのおかげでいただければ幸いです!

答えて

1

あなたのデータを投稿するたびに、新しいメールが送信/作成されるため、私は間違いなくPOSTに行きます。 PUTは主に既存のエンティティを編集するために使用されます。

0

同じリソースを返すためにPUTを実行したURLでGETできますか?そうでない場合は、POSTを使用します。

リクエスト後にサーバーが行うことは重要ではありません。重要なことは、その動作がクライアントと一貫していることです。クライアントがリソースをPUTすると、後でGETできるようになります。クライアントがPOSTを実行すると、クライアントには期待はありません.201を返さない限り、Locationヘッダーに新しく作成されたリソースが含まれていると見なします。

PUTを2回送信すると複数のメールを送信する問題が議論の対象となります。送信された電子メールの数がクライアントに公開されていない限り、統一インタフェースの動作に違反しているわけではありません。しかし、システム内の他の誰かが、複数のインタフェースを受け取っているという事実によって混乱するかもしれません。

関連する問題