需求:完成响应对象驼峰->蛇形的转换,包括响应对应中Map类型的key也需要转换。
准备工作
com.google.guava
guava
31.0.1-jre
@Data
public class User {
private String nameInfo;
private String ageInfo;
private Account account;
@JsonSerialize(using = MapNamingStrategySerialize.class)
private Map<String, Object> extraMap;
@JsonSerialize(using = MapNamingStrategySerialize.class)
private Map<String, String> cache;
@Data
public static class Account {
private Long accountId;
@JsonProperty("name_4_user")
private String name4User;
}
public static User builder() {
User user = new User();
user.setNameInfo("coder");
user.setAgeInfo("28");
Account account = new Account();
account.setAccountId(1001L);
account.setName4User("liming");
user.setAccount(account);
Map<String, Object> extra = new HashMap<>();