程序员王小瑞 2023-05-11 18:19 采纳率: 19.2%
浏览 15

使用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")


  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-05-11 21:11
    关注
    • 这篇博客: 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.

    评论

报告相同问题?

问题事件

  • 创建了问题 5月11日

悬赏问题

  • ¥15 LLM accuracy检测
  • ¥15 pycharm添加远程解释器报错
  • ¥15 如何让子窗口鼠标滚动独立,不要传递消息给主窗口
  • ¥15 如何能达到用ping0.cc检测成这样?如图
  • ¥15 关于#DMA固件#的问题,请各位专家解答!
  • ¥15 matlab生成的x1图不趋于稳定,之后的图像是稳定的水平线
  • ¥15 请问华为OD岗位的内部职业发展通道都有哪些,以及各个级别晋升的要求
  • ¥20 微信小程序 canvas 问题
  • ¥15 系统 24h2 专业工作站版,浏览文件夹的图库,视频,图片之类的怎样删除?
  • ¥15 怎么把512还原为520格式