REST REST APIの原則)に違反していませんか?POSTを介してキューに追加できる操作のバッチ(おそらくトランザクション保証)をサポートしていますか?
このデザインはRESTアーキテクチャの範囲外と思われますが、必ずしもそれに違反しているわけではありませんが、ここで信頼できる情報源を探しています。 。
たとえば、Parse APIはPOSTを作成して、リクエストの batch を作成します。それぞれが個別のRESTリクエストを表すことができます、次のような(引用):
curl -X POST \
-H "X-Parse-Application-Id: ${APPLICATION_ID}" \
-H "X-Parse-REST-API-Key: ${REST_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"requests": [
{
"method": "PUT",
"path": "/1/classes/GameScore/Ed1nuqPvcm",
"body": {
"score": 999999
}
},
{
"method": "DELETE",
"path": "/1/classes/GameScore/Cpl9lrueY5"
}
]
}' \
https://api.parse.com/1/batch
私が読んだことから、これはRESTに違反していません。 RESTは、クライアントとサーバーが相互に通信する方法に関係しています。これはcommunicationはステートレスである必要があります。つまり、クライアントがサーバーを呼び出し、サーバーが応答します、それだけですが、stateが関与していないことを意味するわけではありません。RESTは、リソースに対処することもでき、リソースには状態があります。
私が読んだ1つの例(およびリンクできるようにどこにあるかを覚えておきたい)はトランザクションに関するものでした。POSTを実行してトランザクションリソースを作成し、次に一連のPUTを実行して変更する/そのトランザクションを更新し、最後にコミット(このHTTP動詞のマッピング先を忘れた)してトランザクションを送信します。これらの通信はすべてRESTfulでした(通信チャネルの状態はありませんでした)が、トランザクションリソース内またはトランザクションリソースとしての状態が残っています。
処理キューenバッチに物事を追加すると、トランザクションの例に似ているように思えます。
私はあまりやっていないRESTものですが、これは私には問題ないようです。