【发布时间】:2022-01-19 00:12:12
【问题描述】:
我有这样的代码:
@Service
class SomeClass (
private val departmentClient : DepartmentClient
) {
fun someFunction(
employee: Employee,
department: Department = departmentClient.getById(employee.departmentId)
): Unit {
here my code
}
}
data class Employee(val departmentId: Long, val id: Long)
data class Department(val id: Long)
@Service
class DepartmentClient() {
fun getById(id: Long): Department
}
当我在someFunction中不传递department参数时,我期望departmentClient.getById(employee.departmentId)会被调用。问题是,在某些情况下,我在这一行中得到一个空指针异常,但在其他情况下,我没有。
所有依赖都由 Spring 注入。
【问题讨论】:
-
可以分享
departmentClient.getById()的实现吗?对我来说,错误可能出在该函数中。它的返回值是一个不可为空的Department,尽管它可能找不到具有给定id 的部门,而是返回null。这可能发生在您使用 Jave 库搜索部门(例如在数据库中)并且在没有具有帽子 ID 的部门的情况下,该库返回 null。 -
不,在实现中,它使用rest模板调用另一个微服务。如果它没有找到它会抛出一个异常。
-
其余模板从何而来?
标签: kotlin nullpointerexception default-value