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

发布于:2025-05-24 ⋅ 阅读:(15) ⋅ 点赞:(0)

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


网站公告

今日签到

点亮在社区的每一天
去签到