0

特定の URL からのファイルのアップロードを要求するシステムを想像してみてください。

http://example.com/{accountId}/files

ファイル転送を開始するために、そのエンドポイントに対して POST が行われます。ただし、ファイルが大きくなる可能性があり、サーバーが 202 応答を返すまでに時間がかかる場合があります。

しばらくしてから GET が実行されます

http://example.com/{accountId}/files/{fileId}

そのファイルの返されたステータスがまだ保留中の場合は、サーバーに転送を再試行するように指示します。これは、タイムアウトになったと見なされるためです。

私が困惑しているのは、サーバーがそのファイルを再処理するようにトリガーする適切な REST エンドポイント/HTTP 動詞が何であるかということです。

4

1 に答える 1

1

イメージ プロセッサのステータスを含む「プロセッサ」リソースを追加することをお勧めします。

http://example.com/{accountId}/files/{fileId}/processor

次のような JSON を返すことができる GET です。

{
  "status": "Pending"
}

その後、クライアントは、空の POST をプロセッサ リソースに発行することにより、プロセッサを再起動できます。さらに、クライアントは、(単に空の POST を発行する代わりに) サーバーによってログに記録される「理由」値を使用して JSON を POST できます。

ベース リソース /{accountId}/files/{fileId} には、プロセッサ リソースへのリンクを含めることができるため、クライアントはその情報をハードコーディングする必要がありません。

于 2015-02-16T23:13:53.640 に答える