@RestController
@Api(value = "公共接口",description = "公共接口")
public class CommonController {
    private static Logger logger = LogManager.getLogger(CommonController.class);
    /**
     * 生成验证码
     * @param request
     * @param response
     */
    @ApiOperation(value = "生成验证码")
    @GetMapping("/captcha")
    public void generateImg(HttpServletRequest request,HttpServletResponse response) {
        // 设置相应类型,告诉浏览器输出的内容为图片
        response.setContentType("image/jpeg");
        // 不缓存此内容
        response.setHeader("Pragma", "No-cache");
        response.setHeader("Cache-Control", "no-cache");
        response.setDateHeader("Expire", 0);
        try {
            StringBuffer code = new StringBuffer();
            BufferedImage image = CaptchaUtil.getInstance().genRandomCodeImage(code);
            request.getSession().removeAttribute(ConstParams.KEY_CAPTCHA);
            request.getSession().setAttribute(ConstParams.KEY_CAPTCHA, code.toString().toLowerCase());
            // 将内存中的图片通过流动形式输出到客户端
            ImageIO.write(image, "JPEG", response.getOutputStream());
            logger.info("生成验证码:"+code.toString()+" session:"+request.getSession().getId());
        } catch (Exception e) {
            logger.error("生成验证码失败",e);
        }
    }
}