响应:状态 406 - spring

Response: Status 406 - spring

当我请求时,我收到 406 消息:

"org.springframework.web.server.NotAcceptableStatusException: 406 NOT_ACCEPTABLE \"Could not find acceptable representation\"\n\tat org.springframework.web.reactive.result.method.annotation.AbstractMessageWriterResultHandler.writeBody(AbstractMessageWriterResultHandler.java:156)

我不知道如何修复它。你能告诉我为什么它不起作用吗?

@PostMapping("/sign-in")
fun signIn(@RequestBody request: SignInRequest): Mono<ServerResponse> {
    return userService.findByEmail(request.email)
            .flatMap {
                return@flatMap if (it != null && passwordEncoder.encode(it.password.toString()) == request.password) {
                    println("ok")
                    ok().body(BodyInserters.fromObject(AuthResponse(jwtUtil.generateToken(it))))
                } else {
                    println("no ok")
                    notFound().build()
                }
            }
}

我找到了解决办法。就是这样:

@PostMapping("/sign-in")
fun signIn(@RequestBody request: SignInRequest): Mono<ResponseEntity<*>> {
    return userService.findByEmail(request.email).map {
        return@map if (it != null && passwordEncoder.encode(request.password) == it.password) {
            ResponseEntity.ok(AuthResponse(jwtUtil.generateToken(it)))
        } else {
            ResponseEntity.status(HttpStatus.UNAUTHORIZED).build<String>()
        }
    }.defaultIfEmpty(ResponseEntity.status(HttpStatus.UNAUTHORIZED).build<String>())
}