私は RESTful API を実装している最中ですが、変更できないデータが存在する場合の「コミュニティが受け入れる」動作について確信が持てません。たとえば、私の API には、ファイルのバイナリ データやそれに関連付けられたメタデータなど、作成後に変更できない多数のフィールドが作成時に含まれる「ファイル」リソースがあります。さらに、「ファイル」には記述された説明と関連付けられたタグを含めることができます。
私の質問は、これらの「ファイル」リソースの 1 つを更新することに関するものです。特定の「ファイル」を GET すると、ファイルに関連付けられたすべてのメタデータ、説明、タグ、およびファイルのバイナリ データが返されます。特定の「ファイル」リソースの PUT に「読み取り専用」フィールドを含める必要がありますか? 次のいずれかの方法でコーディングできることを認識しています。a) PUT データに読み取り専用フィールドを含めて、元のフィールドと一致することを確認する (またはエラーを発行する)、または b) PUT データ内の読み取り専用フィールドの存在を無視するそれらは変更できないため、ロジックがそれらを無視するため、一致しない場合や欠落している場合でもエラーを発行することはありません。
どちらの方向にも進み、受け入れられるようです。読み取り専用フィールドを無視する 2 番目の方法は、API クライアントが必要に応じてその読み取り専用データの送信をスキップできるため、よりコンパクトにすることができます。彼らが何をしているのかを知っている人にとっては良いようです...