2016-10-11 6 views
0

私は、オブジェクトをJSONストリングに解析し、送信する前にJSONを検証しようとしています。 Spring @Validタグを使用して、JSONがオブジェクト定義で指定されたパラメータに基づいて有効であることを確認します。 しかし、私はJSONのフィールドの繰り返しのチェックがないことがわかります。フィールドの繰り返しを制御するタグはありますか?Springを使用してオブジェクトのJSON構造を検証する

オブジェクト:

public class Test { 

    @Size(min=2, max=30) @NotNull 
    private String name; 

    @NotEmpty @Email 
    private String email; 

    @NotNull @Min(13) @Max(110) 
    private Integer age; 

    @Size(min=10) 
    private String phone; 

    @NotNull 
    private Gender gender; 
} 

コール:

public void putTest(..., @RequestBody @Valid Test test,...) 

残念ながら、それは次の形式のテストオブジェクトを受け入れ:

{Name: "Test", Email: "[email protected]", age: 20, **Gender: "M", Gender:"F"**} 

答えて

0

あなたのJSONのポスト正しいならば、あなたは問題を抱えています欄の名称

参照:

{Name: "Test", Email: "[email protected]", age: 20, **Gender: "M", Gender:"F"**} 

プロパティの最初の文字は大文字です。

場合、このためのソリューション、マッププロパティ同じ

import com.fasterxml.jackson.annotation.JsonProperty; 


public class Test { 

    @Size(min=2, max=30) @NotNull 
    @JsonProperty("Name") 
    private String name; 

    @NotEmpty @Email 
    @JsonProperty("Email") 
    private String email; 

    @NotNull @Min(13) @Max(110) 
    @JsonProperty("Age") 
    private Integer age; 

    @Size(min=10) 
    @JsonProperty("Phone") 
    private String phone; 

    @NotNull 
    @JsonProperty("Gender") 
    private Gender gender; 
} 
関連する問題