基于 springboot + websocket 的实时聊天系统

基于 springboot + websocket 的实时聊天系统文章目录零 技术选型一 项目功能二 功能展示 1 注册页面 2 登录页面 3 聊天主页 4 聊天演示三 项目部署四 项目涉及接口协议 1 用户注册请求地址请求方式请求示例响应示例 2 用户登录请求地址请求方式请求示例响应示例 3 获取好友列表请求地址请求方式请求示例响应示例 4 获取非好友列表请求地址请求方式请求示例响应示例 5 获取新朋友 好友请求 列表请求地址请求方式请求示例响应示例 6 发起好友请求请求地址请求方式请求示例响应示例 7 处理好友请求请求地址请求方式请求示例响应示例 8 获取好友聊天信息请求地址请求方式请求示例

零、技术选型

  • 基础框架 SpringBoot
  • 通信协议 WebSocket
  • 数据存储 MySQL

一、项目功能

  • 用户模块:用户注册、用户登录
  • 好友模块:添加好友、删除好友、好友申请及处理
  • 消息模块:获取消息记录

功能模块图

二、功能展示

1、注册页面

注册页面.png

2、登录页面

登录页面.png

3、聊天主页

聊天主页.png

4、聊天演示

聊天演示

三、项目部署

1、下载项目

​ git clone https://github.com/Negen9527/chat.git

2、导入idea

3、创建数据库 db_chat, 运行项目

4、浏览器访问 http://127.0.0.1:8578/login.html


华丽的分割线

常用开发环境及工具下载及安装教程

四、项目涉及接口协议

1、用户注册
请求地址

​ http://127.0.0.1:8578/user/register

请求方式

​ POST

请求示例
{ 
     "userName": "斯内克", "password": "", "sex": "1" } 
响应示例
{ 
     "code": 3002, "message": "用户名已存在", "data": null } 
2、用户登录
请求地址

​ http://127.0.0.1:8578/user/register

请求方式

​ POST

请求示例
{ 
     "userName": "斯内克", "password": "", "sex": "1" } 
响应示例
 
3、获取好友列表
请求地址

​ http://127.0.0.1:8578/friend/list/{userId}

请求方式

​ GET

请求示例
http://127.0.0.1:8578/friend/list/2 
响应示例
{ 
     "code": 20000, "message": "数据获取成功", "data": [ { 
     "nickName": "张大炮", "sex": 1, "isOnline": null, "id": 1, "avatar": null, "userName": "张大炮" } ] } 
4、获取非好友列表
请求地址

​ http://127.0.0.1:8578/friend/list/un/{userId}

请求方式

​ GET

请求示例
http://127.0.0.1:8578/friend/list/un/2 
响应示例
{ 
     "code": 20000, "message": "数据获取成功", "data": [ { 
     "sex": 0, "isOnline": null, "id": 3, "avatar": null, "userName": "test" }, { 
     "sex": 0, "isOnline": false, "id": 4, "avatar": null, "userName": "test1" }, { 
     "sex": 1, "isOnline": false, "id": 5, "avatar": null, "userName": "root" } ] } 
5、获取新朋友(好友请求)列表
请求地址

​ http://127.0.0.1:8578/friend/add/list/{userId}

请求方式

​ GET

请求示例
http://127.0.0.1:8578/friend/add/list/2 
响应示例
{ 
     "code": 20000, "message": "数据获取成功", "data": [] } 
6、发起好友请求
请求地址

​ http://127.0.0.1:8578/friend/add

请求方式

​ POST

请求示例
{ 
     "sendUserId": 1 , "receiveUserId": 2, "message": "你好啊" } 
响应示例
{ 
     "code": 200, "message": "发送成功", "data": null } 
7、处理好友请求
请求地址

​ http://127.0.0.1:8578/friend/add/list/handle

请求方式

​ POST

请求示例
127.0.0.1:7858/friend/add/list/handle?addFriendId=1&isReceive=1 
响应示例
{ 
     "code": 20000, "message": "添加成功", "data": null } 
8、获取好友聊天信息
请求地址

​ http://127.0.0.1:8578/message/list?sid={sUserId}&rid={rUserId}

请求方式

​ POST

请求示例
127.0.0.1:8578/message/list?sid=1&rid=2 
响应示例
{ 
     "code": 20000, "message": "数据获取成功", "data": [ { 
     "id": 28, "sendUserId": 2, "receiveUserId": 1, "content": "嘿嘿嘿", "sendTime": "2020-05-19 11:19:14" }, { 
     "id": 27, "sendUserId": 1, "receiveUserId": 2, "content": "没有啊", "sendTime": "2020-05-19 11:19:09" }, { 
     "id": 26, "sendUserId": 2, "receiveUserId": 1, "content": "这周日你有空吗", "sendTime": "2020-05-19 11:18:49" }, { 
     "id": 25, "sendUserId": 2, "receiveUserId": 1, "content": "哈哈哈", "sendTime": "2020-05-19 09:55:53" }, { 
     "id": 24, "sendUserId": 1, "receiveUserId": 2, "content": "may day may day", "sendTime": "2020-05-19 09:55:48" }, { 
     "id": 23, "sendUserId": 2, "receiveUserId": 1, "content": "嗯呐呐,我是斯内克", "sendTime": "2020-05-19 08:51:17" }, { 
     "id": 22, "sendUserId": 1, "receiveUserId": 2, "content": "你好啊,我是张大炮", "sendTime": "2020-05-19 08:51:07" } ] } 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/178682.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午4:43
下一篇 2026年3月26日 下午4:44


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号