包装类工具类
public class HashMapWrapper {
/**
* 将单个键值对包装成一个HashMap。
*
* @param key 键
* @param value 值
* @param <K> 键的类型
* @param <V> 值的类型
* @return 包装后的HashMap
*/
public static <K, V> HashMap<K, V> wrap(K key, V value) {
HashMap<K, V> map = new HashMap<>();
map.put(key, value);
return map;
}
/**
* 将多个键值对包装成一个HashMap。
*
* @param keys 键数组
* @param values 值数组
* @param <K> 键的类型
* @param <V> 值的类型
* @return 包装后的HashMap
*/
public static <K, V> HashMap<K, V> wrap(K[] keys, V[] values) {
if (keys == null || values == null || keys.length != values.length) {
throw new IllegalArgumentException("Keys and values arrays must be non-null and of the same length.");
}
HashMap<K, V> map = new HashMap<>();
for (int i = 0; i < keys.length; i++) {
map.put(keys[i], values[i]);
}
return map;
}
}
包装类使用方法,用于生成验证码
@Override
public Result<?> handleVerifyCode(String uuid) throws IOException {
VerificationCode code = new VerificationCode();
// 转换为Base64
String base64Image = code.getImageByBase64();
String text = code.getText();
stringRedisTemplate.opsForValue().set(CAPTCHA_KEY_PREFIX + uuid, text, TIME_OUT_MIN_CAPTCHA, TimeUnit.SECONDS);
String[] keys = {"img_type", "encoding", "encoding_captcha"};
Object[] values = {"png", "base64", base64Image};
HashMap<String, Object> captchaMap = HashMapWrapper.wrap(keys, values);
return Result.success(captchaMap);
}
生成实际效果
{
"code": 0,
"status": 200,
"message": "操作成功",
"data": {
"img_type": "png",
"encoding": "base64",
"encoding_captcha": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALQAAAAoCAIAAADYC0ddAAAC5ElEQVR4Xu2YsWrdQBBFDQ6G16ZOGzC4cJEmkPyAi+DC/5A0/gXjwnW+WVFYe72aO7s7o90dyXpzuLiQZh6Ge1jpvYtpLc+XN2zonNOVm6t7emkYF/TCKlAR12UQH08OFrTEdWnnIHIgaInromWWw8wPUzkQtMSNqXIuciCoiOtCMDs8dicHC1pyzrq4HBXQkrPSxeXQgZYc2Bibw+M4ciCoyGF02UaOn6cnEjIwmq+/v5RDF5SgJawup8+/ykmHx3H3cpvLLMf8ly505V0O1GITRdAGNnStAbQkDWqxHzmCH+MUkcph5gd6kAvd7AcqgrrQnTGgE6wcgxShciS3Ftdzd7tT7t7MDzwh0JKYZK8z5eKJHLmx1dB3Dpb9yBGQzDSCciBoSXddyq3j4ZGbXIfLwSORA+nuR7Xy8J3F5XhHMtPIOjm6I69cPinH5fjP3z+fyJUPJ8ekHJZQl8PSjKlWfLybG1jBbEZIejHKgUnHRqPqWzUsgZEj2pCGDg0jrb8QutYM8QOd2MQPVd+qYQkiOejESNADDN3pROoHCoFZbg9B1bdqWIJIDktFUIVc6GYP4iOG7d7loBj7Ue1+tB8TPGIIln6o+lYNS6jLMdn6ISl+P37QG71R9a0aliCSYzL8ziJsXTjWAvstJrBDOeKkZFiIy1GB9aNdjuvvj/QSh7xv+aQcl6MO+sHKMfetSrqbQ1j5iGNjEspRfef49vCjHLqQR9J6nCmPdSEUGR8x2HE19BM1SCpPzShPanmVo1B81QwW9CMXslhtvd0M7E+S1A88NgZRrpxokRtbzUKOapa7K0E/ckk9YBM/E7vUJvkH6e8ZaYIfNmZMXP2F0OVmFHIsF0ch9yPdwrKxcjnoBPqBb6kjQAPY0LVOLN45UAhLLQIoAYbujAG1OL0dGGZ+oAc2WgREL6QOi40fG+JyNGF2hGyCy9HKgf1wOfpwSD9cjm4c7whxOXricjjngsvhZPkHDBiAa7mkleUAAAAASUVORK5CYII="
}
}

Comments NOTHING