0
には、以下のPOJOを考えてみた場合:停止(POJO)直列化に必要な分野の一つがnullである
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
@JsonInclude(content=Include.NON_NULL)
public class User {
@JsonProperty(required=true)
private String username;
private String dob;
private String email;
// ... (getters and setters)
}
は、上記のPOJOのための次のサンプルJSONを検討してください。
{
"username": "foo",
"email": "[email protected]",
"dob": "12/21/1994"
}
と私は割り当てた場合null
というフィールドは、シリアル化が行われている間は無視されます。私の質問に来る
、シリアライズを停止する方法は、必要なフィールドがnull
あるとき、現在ジャクソンが故に値としてnull
を考慮するため、これは@JsonProperty(required=true)
で指定された契約に違反しない、(例外をスロー)があります
username
フィールドは常に私のjsonに存在する必要があります。
私は@NotNull
をjavax.validation:validation-api
と使用しようとしましたが、動作していないようです。
spring-boot 1.5.2アプリケーションです。
P.S.
他の使用可能なAPIを提案したり、質問を編集して改善してください。
直列化は行われます。 ユーザー名がnullの場合は、シリアル化を停止します。 –