前置知识
生成二维码目前的技术目前有两大类:QRCode 和 Zxing
- QRCode 是日本原生的二维码生成技术,目前只有 0.5Beta 版且不能通过maven等构件工具引入
- Zxing 是google 对二维码生成技术的包装,提供给Android系统用,不过也可以取其中部分模块共后端开发使用
对上面的技术了解后决定使用 Zxing 作为生产技术进行开发,下面为简单的例子,具体参数的使用可以百度
实现功能
前端传入参数后台根据参数生成二维码同时转换成 String 类型的Base64 编码返回给前端
开发工具及技术
IntelliJ IDEA 2017.3.5
构建工具 Maven
框架 Spring Boot
实现步骤
1.创建一个spring boot 项目
2. 选择spring Initializr 根据下图参数及箭头进行操作
3. 配置Maven 参数
4. 选择spring boot 的基础依赖包,目前只需要web所以添加一个web包以及就行,后面需要手动添加zxing的依赖
5. 项目提示是否将当前项目作为Maven项目,选择 Add as Maven Project ,然后稍等一会等待maven 拉取依赖
6. 添加 zxing 的依赖,Maven会检测到并在此拉取依赖
7. 创建controller和service文件夹并写 Service 和 Controller 代码
写service 需要注意下图中下面这段话
原生转码前面没有 data:image/png;base64 这些字段,返回给前端是无法被解析,可以让前端加,也可以在下面加上
写controller
8. 启动服务
9. 打开浏览器进行查看
10. 将该数据放到 http://imgbase64.duoshitong.com/ 或类似在线的Base64转图片的网站进行图片转换
源码地址为(可以直接拉取到本地运行起来)