臨床データの分析を提供するサービス用の REST スタイル API を設計しています。API を使用すると、ユーザーは患者リソースを作成できます。このリソースは、サーバー側の分析に入力データを提供します。
患者の作成は安全でも冪等でもない (サーバーが ID を割り当てる) ため、POST が使用されます。 POST Patients
患者リソースは大きくなる可能性があるため、更新可能なサブリソース (医薬品など) があります。medications の更新は、med のセット全体が置き換えられるためべき等であるため、PUT が使用されます。
臨床分析は、リクエストによってトリガーされ POST /Patients/{patientId}/analysisResults
ます。または、ユーザーは、分析結果が POST /Patients 要求の応答で返されるように要求できます。これにより、追加の HTTP ラウンドトリップが節約されます。
私の問題はこれです。ユーザーは、更新 (PUT) への応答に含まれる分析結果を望んでPatient/Medications
います。結果を取得するために 2 回目の要求を行いたくないため、理解できます。したがってPUT Patient/Medications
、Patient リソースに関してはべき等ですが、新しい analysisResults サブリソースが作成されるため、すべてのリソースに関してはそうではありません。するべきか:
- a) PUT でこれを有効にします。
- b) POST でこれを有効にします。
- c) 新しい analysisResults を作成するには別の呼び出しが必要だと主張しますが、これによりエンド ユーザーの全体的な応答時間が長くなりますか?