当前位置: 首页 > news >正文

【接口设计文档】:在线聊天平台(Online-Chat)

1. 用户管理模块


1.1 用户注册

  • 接口名称:用户注册接口

  • 方法:POST

  • URL:/user/register

  • 请求参数:

    {"username": "test_user","password": "123456"
    }
  • 响应码:

    • 200:注册成功,返回用户信息(密码字段置空)。


1.2 用户登录

  • 接口名称:用户登录接口

  • 方法:POST

  • URL:/user/login

  • 请求参数:

    {"username": "test_user","password": "123456"
    }
  • 响应码:

    • 200:登录成功,返回用户信息(密码字段置空)。

    • 401:用户名或密码错误。


1.3 获取用户信息

  • 接口名称:用户信息接口

  • 方法:GET

  • URL:/user/userInfo

  • 响应码:

    • 200:返回当前登录用户信息(密码字段置空)。

    • 401:未登录。

  • 代码参考:UserController.java 中的 getUserInfo 方法。


2. 主界面模块


2.1 获取会话列表

  • 接口名称:会话列表接口

  • 方法:GET

  • URL:/messageSession/getsessionList

  • 响应数据:

    [{"sessionId": 1001,"friends": [{ "friendId": 2, "friendName": "用户B" }],"lastMessage": "你好!"}
    ]
  • 响应码:200


3. 好友管理模块


3.1 获取好友列表

  • 接口名称:好友列表接口

  • 方法:GET

  • URL:/friend/getFriendList

  • 响应数据:

    [{ "friendId": 2, "friendName": "用户B" }
    ]
  • 响应码:200


3.2 添加好友

  • 接口名称:添加好友接口

  • 方法:POST

  • URL:/friend/add

  • 请求参数:

    { "username": "用户B" }
  • 响应码:

    • 200:添加成功,返回 true

    • 400:用户不存在或已是好友。


3.3 搜索用户

  • 接口名称:用户搜索接口

  • 方法:GET

  • URL:/user/addFriend

  • 请求参数:

    { "username": "用户B" }
  • 响应数据:

    [{ "id": 2, "userName": "用户B" }
    ]
  • 响应码:200


4. 消息传输模块


4.1 获取历史消息

  • 接口名称:历史消息接口

  • 方法:GET

  • URL:/message/getmessage

  • 请求参数:sessionId=1001

  • 响应数据:

    [{"fromId": 1,"content": "你好!","createTime": "2023-10-01 12:00:00"}
    ]
  • 响应码:200


4.2 实时消息推送

  • 接口名称:WebSocket消息接口

  • 协议:WebSocket

  • URL:ws://{host}/message

  • 请求格式:

    {"type": "message","sessionId": 1001,"content": "你好!"
    }
  • 响应格式:

    {"type": "message","fromId": 1,"fromName": "用户A","sessionId": 1001,"content": "你好!"
    }

4.3 创建新会话

  • 接口名称:创建会话接口

  • 方法:POST

  • URL:/messageSession/session

  • 请求参数:toUserId=2

  • 响应数据:

    { "sessionId": 1001 }
  • 响应码:200

http://www.xdnf.cn/news/614791.html

相关文章:

  • IEC 61156-5:2020 标准技术解析与应用综述
  • 肠道微生物组研究的特有数据库
  • [C]基础15.C语言内存函数
  • centos原系统安装了Python3.7.9兼用在安装一个python3.8
  • 全面解析EDI RECADV报文:结构组成、业务应用与关键注意事项
  • Java中的集合(持续更新)
  • 如何使用WordPress区块(以及如何创建自定义区块)?
  • 常见算法题目2 - 给定一个字符串,找出其中最长的不重复子串
  • C++ std::find() 函数全解析
  • 在 Android 开发中判断用户是否开启了“允许安装未知来源应用(Install Unknown Apps)”权限
  • 字符串和常量池的进一步研究
  • Android中Binder驱动作用?
  • 影刀RPA:开启办公自动化的高效之旅
  • Vue:axios(POST请求)
  • 【JavaScript 实现导航栏顶部吸附效果】
  • 8天Python从入门到精通【itheima】-35~37
  • 养成一个逐渐成长的强化学习ai
  • AI练习:折叠效果
  • magentic-ui和browser-use深度分析
  • 统一错误处理脚本实现
  • 数据赋能(234)——数据管理——标准化原则
  • CST软件基础六:视图
  • java中string类型的list集合放到redis的5种数据类型的那种比较合适呢,可以用StringRedisTemplate实现
  • 佰力博与您探讨PVDF薄膜极化特性及其影响因素
  • 巴西电商爆发期,第三方海外仓如何应用WMS系统抢占市场先机?
  • dubbo使用nacos作为注册中心配置
  • Python语法特点与编码规范
  • DAY 34 GPU训练及类的call方法
  • 设计模式——简单工厂模式
  • Zabbix实践!客户端自动发现