响应:状态 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>())
}
当我请求时,我收到 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>())
}