2

わかりました、私は支払いシステムを持っています。その周りのすべてを無視して、支払い自体に焦点を当てましょう。

たくさんのウィザードを通して、私は特定の支払いを積み上げます。

まず、私は

POST/支払い

サーバーは戻ります

場所/支払い/{id}

ウィザードの最初のページ:

PUT /payment / {id}

サーバーは戻ります

201(作成済み)

後続のウィザードページ:

PUT /payment/{id}およびPOST/payment/ {id} / {subresource}

サーバーは戻ります

PUTの場合は202(承認済み)、サブリソースの場合は201(作成済み)

最後のページ(要約と「よろしいですか」しかありません)

これが私の質問です。RESTエンドポイントとして何を使用すればよいですか?

PUT /payment / {id} / process

プロセスは動詞であり、リソースではないため、明らかに間違っています。

PUT /payment / {id}

クライアントが処理を実行しようとしていることを意味します。これは、サーバーが信頼していないことです。

PUT /payment / {id}

ステータスが(「処理中」のように)変更され、そのステータス変更が傍受されると、非常にハッキーで、設計がまったく良くないように見えます。

誰か他のアイデアがありますか?

4

1 に答える 1

2

最初に支払いの GET を実行します。

GET /payment/{id}

その表現を取得し、処理リソースに POST します

POST /payment/processqueue

Location ヘッダーには、処理のステータスを示すリソースへのリンクを含めることができます。

于 2011-06-15T00:34:14.553 に答える