使用WebFlux出错

我在使用webflux时出现了一个现象,我两个项目使用mono返回结果,两个结果居然不一样,很纳闷

一个是正常的:
data:{"data":{"sessionId":"645cafdbb9f1b7abebd10af7","status":-1,"username":null},"code":0,"msg":"操作成功"}
这种返回结果是正常的
错误的:
{
    "code": "0000",
    "data": {
        "sessionId": "645cafdbb9f1b7abebd10af7",
        "status": -1,
        "username": null
    },
    "message": "操作成功"
}
这种就错了,然后前端也就不出意外出现了问题。
这两个区别是一个有前缀data:  一个没有
为什么会出现这种问题呢

这是接口代码:


![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/499173008386131.png "#left")


  • 这篇博客: WebFlux学习总结中的 Mono 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 一个Mono对象代表一个包含零/一个(0…1)元素
    在这里插入图片描述

    Mono是一个专门的,它通过onNext发出信号,然后用onComplete信号终止(成功的Mono,有或没有值),或者只发出一个onError信号(失败的Mono)。
    大多数实现都应该在调用后Mono立即调用onComplete 。是一个异常值:它不发出任何信号,这在技术上并没有被禁止,尽管在测试之外并不是非常有用。另一方面,明确禁止and的组合。

    Mono仅提供可用于的运算符的子集Flux,并且一些运算符(特别是那些将 theMono与另一个结合的运算符Publisher)切换到Flux。例如,Mono#concatWith(Publisher)返回一个FluxwhileMono#then(Mono) 返回另一个Mono。

    请注意,您可以使用 Mono来表示只有完成概念的无值异步进程(类似于 a Runnable)。要创建一个,您可以使用一个空的 Mono.