0
@Entity
public SampleEntity {
@Id
private long id;
private String name;
private String description;
public SampleEntity(String name) {
// some logic
description = doSomeThing(name);
}
public SampleEntity() {}
// getters and setters
}
と言ってくださいname
のみが渡されているときに説明を更新したいとします。Springエンティティ内のアプリケーションロジック
次のように私はPOSTリクエストを送信する場合:応答で
/POST books
{
"name": "some_name"
}
description
プロパティはまだnull
になります。
spring-data-restとspring-data-jpa
を使用して、カスタムコントローラを定義せずにエンティティを公開しています。私のEntityクラス以外のロジックを分離する必要がある場合は、spring-data-restで実現できる簡単な例を教えてください。
名前から直接派生したエンティティには、なぜ説明がありますか?説明は冗長です。それをエンティティから削除するだけです。そうでなければ、あなたはまた、1.記述の設定者を削除する必要があります、名前の設定者も派生し、説明を設定します。 –
descriptionは、説明が明示的に渡されない場合、nameから導出されます。 – reversiblean
JSON marshallerはコンストラクタを引数として名前をとっては呼び出しません。引数なしのコンストラクタを呼び出し、次にさまざまなプロパティを設定します。このロジックはエンティティ内にあるべきではありません。それはあなたの奉仕の中にあるはずです。 –