一、效果图
二、实现代码
1.添加依赖
<!-- zxing生成二维码 -->
<dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.3.3</version>
</dependency><dependency><groupId>com.google.zxing</groupId><artifactId>javase</artifactId><version>3.3.3</version>
</dependency><!--开发工具集-->
<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>4.6.10</version>
</dependency>
2.自定义一Java Config配置文件
@Configuration
public class QRConfig {//采用JavaConfig的方式显示注入hutool中 生成二维码@Beanpublic QrConfig qrConfig(){//初始宽度和高度QrConfig qrConfig=new QrConfig(300,300);//设置边距,即二维码和边框的距离qrConfig.setMargin(2);//设置前景色qrConfig.setForeColor(Color.BLACK.getRGB());//设置背景色qrConfig.setBackColor(Color.WHITE.getRGB());return qrConfig;}
}
3.编写接口
//生成二维码并将其返回给前端@AutowiredQrConfig config;// 返回数据流形式@PostMapping("/getQRcode")public void getQRcode(String content, HttpServletResponse response){try {QrCodeUtil.generate(content, config, "png", response.getOutputStream());} catch (QrCodeException | IOException e) {e.printStackTrace();}}// 返回文件形式@PostMapping("/getQRcode")public void getQRcode(String content, String filePath){try {QrCodeUtil.generate(content, config, FileUtil.file(filePath));} catch (QrCodeException | IOException e) {e.printStackTrace();}}