Springboot项目——网页版本五子棋

网页五子棋:项目简单实现了网页版本的五子棋对战功能,同时会根据用户的天梯分数来匹配,可供多位用户同时提供对战功能。大致可分为三个模块,用户模块,匹配模块,对战模块,下面重点介绍以下三个模块。

101.42.44.62:10010/login.html

一、全局处理

1. 拦截器

1)自定义拦截器类实现 HandlerInterceptor 接口,重写 preHandle 方法,用于拦截未登录用户的请求。

2)自定义配置类实现 WebSocketConfigurer 接口,重写 registerWebSocketHandlers 方法,用于注册后续重写 TextWebSocketHandler 的类,使得后续客户端和服务端的通信能正确进行,同时为该配置类加上 @EnableWebSocket 注解,使得 Spring 知道该类是 WebSocket 的配置类;实现 WebMvcConfigurer  接口,重写 addInterceptors 方法,表示对哪些请求进行拦截。

2. 统一数据格式返回

1)自定义结果实体类 Result,其属性包括 code(业务码),errMsg(错误信息),data(接口响应的数据,泛型);其静态方法有 success(T data),在请求成功时可调用,参数 data,表示给前端返回的数据内容;fail(String errMsg),在请求非法时可调用,参数 errMsg,表示非法请求的错误信息。其中,Result 类中的属性 code 通过自定义枚举类来实现,保证 code 值的正确性。        

2)自定义响应通知类,实现 ResponseBodyAdvice 接口,并重写其 supports 方法和 beforeBodyWrite 方法,supports 方法:判断是否要执行 beforeBodyWrite 方法,true 为执行,false不执行;beforeBodyWrite 方法:对response方法进行的具体操作处理,如果返回的结果已经是Result类时,需直接返回,另外,如果返回的结果时 String类型,需通过 ObjectMapper 进行特殊处理。

 二、用户模块

通过 UserController 类实现

1. 登录

1)前端页面

2)后端实现 

使用 JWT 令牌(Json

你可能感兴趣的:(spring,boot,后端,java)