【问题标题】:Response: Status 406 - spring响应:状态 406 - 春天
【发布时间】:2019-10-17 20:12:38
【问题描述】:

当我请求时,我会收到 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()
                }
            }
}

【问题讨论】:

    标签: spring kotlin controller request reactor-netty


    【解决方案1】:

    我找到了解决方案。就是这样:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      相关资源
      最近更新 更多