Kotlin是否需要NotNull?


问题内容

我有一堂课:

class User(

    var name: String

)

并映射后的请求:

@PostMapping("/user")
fun test(@Valid @RequestBody user: User) {
    //...
}

如果客户端将使用发送用户的JSON name: null怎么办?它会被MVC验证程序拒绝还是会引发异常?我应该注释name@NotNull?不幸的是,我无法进行检查,因为只能编写测试(无法创建User(null))。


问题答案:

如我所测试,@NotNull完全不影响MVC验证。您只会WARN在控制台中收到一条正常的消息:

无法读取HTTP消息:org.springframework.http.converter.HttpMessageNotReadableException:无法读取文档:实例化…