有半年没写Java代码,嘿嘿~,这两天写了几个接口,用到了Hutool类库。这里做个总结。
MD5加密
md5加密32位小写用法 SecureUtil.md5();
String md5 = SecureUtil.md5("md5加密算法");
System.out.println(md5);
输出结果:
9eff81ff6a7672cd6138ba4642f0c618
Http请求工具
HttpUtil:提供了对Http请求的操作,例如发送GET请求、发送POST请求、下载文件等。
// 发送GET请求
String result = HttpUtil.get("https://www.baidu.com");
// 发送POST请求
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("username", "admin");
paramMap.put("password", "123456");
//String postResult = HttpUtil.post("https://www.example.com/login", paramMap);
String result= HttpUtil.createPost("https://www.example.com/login").form(paramMap).execute().body();
// 下载文件
FileUtil.writeBytes(HttpUtil.downloadBytes("https://www.example.com/file"), "D:/file.txt");
JSON数据处理
String result = "{ code : 200, message:'sucess',data:{value:20240618}}" ;
JSONObject resJSON= JSONUtil.parseObj(result);
Integer code = resJSON.get("code",Integer.class);
System.out.println(code);
输出结果:
200
Bean转Map
实体类加注解Alias,实现转换map时key值自定义(属性别名)。
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import cn.hutool.core.annotation.Alias;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class User{
/**
* user_id
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@Alias("user_id")
@JsonProperty("user_id")
private String userID;
/**
* user_name
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@Alias("user_name")
@JsonProperty("user_name")
private String userName;
}
BeanUtil.beanToMap测试代码如下:
User user = new User("u001","道徽");
Map<String,Object> map = BeanUtil.beanToMap(user);//bean转换成map
System.out.println(map);
user.setUserID(null);
map = BeanUtil.beanToMap(user, false, true);//属性值为空不传入map
System.out.println(map);
输出结果:
{user_id=u001, user_name=道徽}
{user_name=道徽}