SpringデータRESTは非常にうまく動作していますが、特定のリソースを作成するときにユーザーがどのようなパラメータを提供できるかを制限する必要があります。たとえば、作成されたリソースに割り当てられたIDやアカウントのアクティブ化状態をユーザーが指示できないようにする必要があります。SpringデータRESTで作成時に特定の属性を禁止する方法を教えてください。
これまでの私のアプローチは、単にリポジトリ@HandleBeforeCreate
イベントハンドラでこれらのフィールドをクリアまたはリセットすることです。リソースの受け入れられたPOSTデータを制限するためのもう1つ、もっと巧妙なオプションがありますか?
また、CRUDコールが明示的にターゲット・リソースの一部ではない追加、コンテキスト属性を指定する必要がありますが、リソースを作成するプロセスで使用することができる場合があります。このケースを処理する適切な方法は何ですか?
ジャクソンをserilizationに使用している場合は、属性とそのセッターにJsonIgnoreを、アノテーションにJsonGetterを使用してください。私はこのトリックを使用して、属性の新しい値をPUTまたはPATCHするのを防ぎます。私はPOSTで試したことはありませんが、それも動作すると思います。 –