【发布时间】:2021-11-29 22:33:36
【问题描述】:
我想创建用户注册服务,将数据存储在mongodb但是 当我在用户构建函数中传递所有必需的数据时,我得到了一些 像作业这样的问题不是表达式,只有表达式是 在构建器函数中允许在此上下文中,但我不确定如何 在 Mongodb 中存储用户提供数据,这是我的代码模式 注册用户但它不工作它会抛出如下错误类型
Assignments are not expressions, and only expressions are allowed in this context
@PostMapping(value = ["/users"], produces = [MediaType.APPLICATION_JSON_VALUE])
fun createUser(@RequestBody payload: Signup): ResponseEntity<*>? {
log.info("creating user {}", payload.username)
val user: User = User
.builder()
.username= payload.username
.email=payload.email
.password=payload.password
.userProfile(
Profile
.builder()
.displayName=payload.name
.profilePictureUrl=payload.profilePicUrl
.build()
)
.build()
try {
userService.registerUser(user, Role.USER)
} catch (e: UserNameAlreadyExistException) {
throw BadRequestException(e.message)
} catch (e: EmailAlreadyExistException) {
throw BadRequestException(e.message)
}
val location = ServletUriComponentsBuilder
.fromCurrentContextPath().path("/users/{username}")
.buildAndExpand(user.userName).toUri()
return ResponseEntity
.created(location)
.body(ApiResponse(true, "User registered successfully"))
}
userService 中不支持builder 函数。我不明白 要导入哪种类型的构建器函数。在建议中它显示很多 导入建议。我使用 MongoDb 作为数据库,使用 springboot 作为 框架工作
【问题讨论】:
-
下面的答案有帮助吗?
标签: spring-boot kotlin