所以我读了很多Topics,但没有在其中任何一篇中找到这些信息。如果我错过了它,如果你能引导我去看,我将不胜感激:(。
我正在使用SringBoot,得到了一个用户模型,它有一个boolean
字段-活动。我使用boolean
是因为我读到使用Boolean
进行3个状态检查是一种不好的做法。
问题是,当我从Postman发送RequestBody时,如果我将字段保持为空,则默认为false。我读到过一些东西,比如在Body上使用@Validation
的@NotNull
注释和@Valid
检查,但这不是一个使用布尔值的选项。
主要问题:是否可以对布尔属性执行类似(@AssertTrue
或@AssertFalse
(的操作?如果没有,那么如何确保RequestBody中的此属性不为空(不使用Boolean
(?
编辑:我只是觉得这个问题可能不需要代码,因为它是非常直接的,给你,控制器方法:
@PutMapping()
@PreAuthorize("hasRole('ADMIN')")
public ResponseEntity<User> modifyUser(@RequestBody User userBody)
throws NotFoundException {
用户类属性:
@Column(name = "ACTIVE")
private boolean active;
布尔数据类型是一种二进制表示(true/false(。Null值既不是true也不是false。
默认情况下,boolean的值为false。参考基元数据类型
如果您想根据发送的用户数据进行一些验证,则必须将数据类型创建为包装布尔型。这将取决于你想要的解释的场景。
- 如果为null,您会计算一些值并设置字段吗
- 是否要在数据库中将该值存储为null
但理想情况下,如果字段为布尔值,则值应为true或false。
因此,在最终结果中,我仍然必须使用布尔值,因此我可以将@NotNull注释添加到活动字段中。遗憾的是,仍然无法找到如何使用布尔值进行操作的答案。。。谢谢你的回复!