Ответ: Статус 406 - весна - PullRequest
0 голосов
/ 01 июня 2019

Когда я делаю запрос, я получаю 406 с сообщением:

"org.springframework.web.server.NotAcceptableStatusException: 406 NOT_ACCEPTABLE \ "Не удалось найти приемлемое представление \" \ 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()
                }
            }
}

1 Ответ

0 голосов
/ 01 июня 2019

Я нашел решение.Вот оно:

@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>())
}
...