最快速学会websocket、spring security、swagger+knife4j、openfeign的使用
本篇教程直指实战,10分钟掌握websocket、spring security结合jwt形式token、swagger结合kinfe4j、openfeign与springboot的集成使用
websocket的使用
引入依赖
注册websocket端点
创建处理器并注册进容器
spring security的使用
引入依赖
创建核心功能配置类,由于gateway是webflux风格,集成security写法和普通mvc集成略有不同,下面是普通mvc集成写法
自定义登录接口调用的service层核心方法
鉴权过滤器
而gateway集成security如下
而gateway集成security的自定义鉴权过滤器如下
jwt的使用
引入依赖
创建工具类
最后是security封装好的加密工具使用
加密工具使用(默认使用加盐算法)
swagger文档结合knife4j的使用
引入依赖
核心配置类
接口文档映射路径在idea中可以找到

找到要放入接口文档的接口所在的包点击,可以在上方看到路径,src-main-java后的路径就是映射路径(tips:点击红色圆圈所在位置可以快速找到一个文件在项目中的具体位置)
在请求类中描述信息
接口中描述信息
实际效果(浏览器中输入服务ip+端口+/doc.html)

集成knife4j后页面好看很多,且封装了一些参数,操作更便捷。原生swagger是这样

openfeign的使用
引入依赖
client接口编写
使用
绝大多数情况传递的都是json数据,但特殊情况需要在服务之间传递文件流,这时需要额外的措施
调用的方法传参中有文件
由于MultipartFile接口往往是前端上传文件后由springboot封装好的流程绑定到后端接口上,无法实例化,因此需要自定义一个类实现MultipartFile接口
client和实际远程调用接口都需要额外添加注解中cosumes的值
这样实际调用时可以传入实例化对象
响应是文件
需要用到InputstreamResource类进行装载
client接口写法同传统json传递方法的写法,只是返回响应类型比较特殊
最后,宣传一下自己的仿b站前后端分离微服务项目,依赖版本号也在该项目的父pom.xml中
实现了以下功能:
视频的上传、查看与上传时获取封面
视频的点赞、评论、可同时新增和删除多个收藏记录的收藏、多功能的弹幕
用户的个人信息查看编辑、用户之间的关注
用户的个人主页权限修改、查看、由个人主页权限动态决定的用户个人主页内容的获取
手机号、邮箱、图形验证码的多种方式登录
支持临时会话的服务器为代理的一对一实时私聊
基于讯飞星火的文生文、文生图、(全网首发)智能PPT
关注up动态视频、评论、点赞、私聊消息的生成与推送
基于es实现的视频和用户的聚合搜索、推荐视频
网关的路由和统一鉴权与授权
基于双token的七天内无感刷新token
防csrf、xss、抓包、恶意上传脚本攻击
统一处理异常和泛型封装响应体、自定义修改响应序列化值
简易的仿redis缓存读取与数据过期剔除实现
xxl-job+ redis+ rocketmq+ es+ 布隆过滤器的自定义es与mysql数据同步
slueth+zipkin的多服务间请求链路追踪
集中多服务日志到一个文件目录下与按需添加特定内容入日志
多服务的详细接口文档
项目地址LABiliBili,github地址GitHub - aigcbilibili/aigcbilibili: 仿bilibili前后端实现,演示地址https://labilibili.com/video/演示.mp4,如果大家觉得有帮助的话可以去github点个小星星♪(・ω・)ノ
