访问 post 方法 json Webflux reacive programming 中的 RequestBody 参



如何访问单声道类型的 RequestBody 参数。Spring Boot Webflux reactive。

我想返回一个响应实体,而不是一个单声道。

@RequestMapping(value = "/poststudentdata", method = RequestMethod.POST, headers={"content-type=application/json"})
public ResponseEntity<String> poststudentData(@Valid @RequestBody Mono<Student> student, BindingResult bindingResult) {
    // How can i access student.getName() etc.... RequestBodt parameters
    // Not able to access as have declared Student as Mono.
}

当您的输入通过反应式类型(Mono(异步提供时,不要尝试返回非反应式类型,因为这意味着您最终可能会阻塞处理请求的 IO 线程,这假定控制器的非阻塞行为。这不仅会带来阻塞当前请求处理的风险,还会带来处理应用程序中所有其他请求的风险。

因此,请将返回类型更改为 Mono<ResponseEntity> ,为清楚起见,将student重命名为 studentMono 并在map中处理您的学生(如果要应用异步转换,则可能flatMap(:

return studentMono.map(student -> ResponseEntity.ok(student.getName()));

相关内容

最新更新