将Kotlin枚举设置为控制器中的默认值

将Kotlin枚举设置为控制器中的默认值,kotlin,Kotlin,问题:我正在编写一个rest控制器,它在如下所示的RenameRequest参数中接受一个枚举 @PutMapping("/rename") fun rename(@RequestBody @Valid renameRequest: RenameRequest) { return imageService.rename(renameRequest.company, renameRequest.name, renameRequest.newName) } 问题是,在我的RenameRe

问题:我正在编写一个rest控制器,它在如下所示的RenameRequest参数中接受一个枚举

@PutMapping("/rename")
fun rename(@RequestBody @Valid renameRequest: RenameRequest) {
    return imageService.rename(renameRequest.company, 
renameRequest.name, renameRequest.newName)
}
问题是,在我的RenameRequest对象中,我初始化公司枚举,如下所示:

@NotNull
val company: Company? = null
这给我带来了麻烦。这两种选择我都想过,但我都不喜欢

  • 添加另一个可以是“未知”的枚举类型,并对其进行初始化以使用该类型,但我不想设计代码来处理该类型
  • 我添加“!!”表示我允许枚举为空,例如renameRequest.company
    我需要一些关于这是一个多么聪明的解决方案的信息。

    当您使用Kotlin时,使用
    @NotNull
    -注释对我来说似乎是违反直觉的,但是您说您允许
    公司
    null
    -值,即
    公司?

    下面呢

    lateinit var company: Company