0
私はEntity
クラスにプライベートフィールドname
を持っています:は、名前を変更できないビジネスロジックのためsetName()
メソッドがありません。Spring MVC - エンティティのプライベートフィールドがPOSTから設定されていません
私は、フォームのエンドポイントがあります。
@RequestMapping(value = "/endpoint", method = POST, consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
public Product saveProduct(
@Validated(FormSubmission.class) Product product,
Errors errors,
@RequestParam("sellerId") long sellerId) { ... }
私は春がリクエストボディを解析するときにもプライベートフィールドを移入することができましたが、name
プロパティが正しくフォーマットされたPOSTリクエストの後にnull
のままという印象の下にあったがsetName()
メソッドをProduct
に追加しない限り
セッターが必要ですか?
春は、リフレクションを使用して、オブジェクトをデシリアライズするためにジャクソンを使用しているだけで罰金 – user3690467
春の豆とプライベートフィールドをautowireすることができ、私は(真)setAccessibleがデフォルトで使用されているかはわかりません。あなたのプロパティが設定なしでnullの場合、値を変更するためにアクセスすることはできません。 – NikNik
JacksonがJSONに使用されていませんか? – user3690467