Spring 对象 Bean 验证的引导列表
Spring Boot List of Object Bean Validation
我有一颗豆子,
@Data
@NoArgsConstructor
public final class PersonRequest {
@NotNull
@JsonProperty("nameList")
private List<Person> nameList;
}
和人 POJO,
@Data
public class Sensor {
@NotNull
@JsonProperty("id")
private int id;
@NotNull
@JsonProperty("name")
@Min(1)
private String name;
}
我正在发送 JSON 请求并在我的控制器中添加了 @Valid
。我发送请求如下,
{
"nameList": [
{
"id": 1,
"name": "John"
},
{
"id": 2,
"name": "Alex"
}
]
}
当我在 id
和 name
未验证的情况下发送请求时。我也尝试使用 @Valid private List<Person> nameList;
但没有成功。我使用 Spring boot 2.3.2.
更新:
当我再添加一个属性时,当我在请求中传递日期时,这也会提示错误请求。
@NotNull
@JsonProperty("startTime")
@DateTimeFormat(pattern = "yyyy-MM-dd'T'hh:mm:ss", iso =
DateTimeFormat.ISO.DATE_TIME)
@Valid
private LocalDateTime startTime;
控制器中的 @Valid
注释触发 PersonRequest
对象的验证,作为请求正文传递。要同时验证 PersonRequest
中包含的 Person
对象,您还需要用 @Valid
注释该字段。
@Data
@NoArgsConstructor
public final class PersonRequest {
@NotNull
@JsonProperty("nameList")
@Valid
private List<Person> nameList;
}
我有一颗豆子,
@Data
@NoArgsConstructor
public final class PersonRequest {
@NotNull
@JsonProperty("nameList")
private List<Person> nameList;
}
和人 POJO,
@Data
public class Sensor {
@NotNull
@JsonProperty("id")
private int id;
@NotNull
@JsonProperty("name")
@Min(1)
private String name;
}
我正在发送 JSON 请求并在我的控制器中添加了 @Valid
。我发送请求如下,
{
"nameList": [
{
"id": 1,
"name": "John"
},
{
"id": 2,
"name": "Alex"
}
]
}
当我在 id
和 name
未验证的情况下发送请求时。我也尝试使用 @Valid private List<Person> nameList;
但没有成功。我使用 Spring boot 2.3.2.
更新:
当我再添加一个属性时,当我在请求中传递日期时,这也会提示错误请求。
@NotNull
@JsonProperty("startTime")
@DateTimeFormat(pattern = "yyyy-MM-dd'T'hh:mm:ss", iso =
DateTimeFormat.ISO.DATE_TIME)
@Valid
private LocalDateTime startTime;
控制器中的 @Valid
注释触发 PersonRequest
对象的验证,作为请求正文传递。要同时验证 PersonRequest
中包含的 Person
对象,您还需要用 @Valid
注释该字段。
@Data
@NoArgsConstructor
public final class PersonRequest {
@NotNull
@JsonProperty("nameList")
@Valid
private List<Person> nameList;
}