Spring 转换Mono时弹簧反应API响应空白体<;无效>;到Mono<;回应>;
我有一个返回Mono的服务呼叫。现在,在向用户提供API响应的同时,我想发送一些响应。我试过使用平面图和地图,但都不起作用。它给了我一个空的身体作为回应 下面是代码示例Spring 转换Mono时弹簧反应API响应空白体<;无效>;到Mono<;回应>;,spring,spring-webflux,spring-restcontroller,Spring,Spring Webflux,Spring Restcontroller,我有一个返回Mono的服务呼叫。现在,在向用户提供API响应的同时,我想发送一些响应。我试过使用平面图和地图,但都不起作用。它给了我一个空的身体作为回应 下面是代码示例 //Service Call public Mono<Void> updateUser(....) { .......... return Mono<Void>... } //Rest Controller @PostMapping(value = &
//Service Call
public Mono<Void> updateUser(....) {
.......... return Mono<Void>...
}
//Rest Controller
@PostMapping(value = "/user/{id})
public Mono<Response> update(......) {
return service.updateUser(....)
.map(r -> new Response(200, "User updated successfully"));
}
//服务调用
公共单声道更新程序(…){
…返回单。。。
}
//休息控制器
@PostMapping(value=“/user/{id})
公共单声道更新(……){
return service.updateUser(..)
.map(r->新响应(200,“用户已成功更新”);
}
当我点击上面的API时,它给了我一个空的主体作为响应。有人能帮我在API响应中获取主体吗
谢谢如果您希望忽略来自
Mono
或Flux
的返回值,只需触发链中的下一个内容,您可以使用then
操作符或thenReturn
操作符
区别在于然后
采用单声道
,而然后返回
采用具体的值(该值将被包装在单声道
中)
@PostMapping(value = "/user/{id})
public Mono<Response> update(......) {
return service.updateUser(....)
.thenReturn(new Response(200, "User updated successfully"));
}
@PostMapping(value=“/user/{id})
公共单声道更新(……){
return service.updateUser(..)
.thenReturn(新响应(200,“用户已成功更新”);
}
使用然后
或然后返回
操作符,而不是映射
。可以,很好,谢谢