在配置类重写此方法即可
@Override public JWTConfig jwtConfig() { JWTConfig jwCOnfig= new JWTConfig(); // token 失效时间单位,默认: 秒 jwtConfig.setCalendarField(Calendar.SECOND); // token 失效时间,默认: 86400 秒 jwtConfig.setCalendarInterval(86400); // 秘钥,默认: 一个 UUID jwtConfig.setSecret(UUID.randomUUID().toString()); return jwtConfig; }
除了实体类映射有影响之外,其他地方均不受影响
开发中经常出现这种情况,实体类的命名规范是驼峰,而数据库字段是下划线分割,所以会出现对不上的情况,这个时候我们可以用这个注解来解决:
com.fasterxml.jackson.annotation.JsonProperty
在实体类的字段上加上这个注解,设置 name 属性为数据库字段名
public class TestPO{ @JsonProperty(value = "数据库里的 name 字段名") private String name; @JsonProperty(value = "数据库里的 age 字段名") private String age; @JsonProperty(value = "数据库里的 id 字段名") private int id; }
com.fasterxml.jackson.annotation.JsonIgnoreProperties
在实体类上加上这个注解即可
@JsonIgnoreProperties(ignoreUnknown = true) public class TestPO{ }
当实体类里面出现了 Date 类型,在执行数据库操作的时候会出异常,所以需要指定一个日期格式, 指定格式可以用这个注解:
com.fasterxml.jackson.annotation.JsonFormat
在实体类上加上这个注解即可
@JsonIgnoreProperties(ignoreUnknown = true) public class TestPO{ @JsonProperty("create_time") @JsonFormat(pattern = "yyyy-MM-dd HHss") private Date createTime; }
实体类需要写 get/set 方法,或者用 lombok 注解
1 GM 2021-03-20 18:50:58 +08:00 你这到底叫 Martian,还是叫 mars ? |
![]() | 2 Joker123456789 OP @GM 以前叫 mars,后来改成了 Martian, 火星改成了火星人, 两个名字还算有点联系。 所以域名 以及 项目内部的模块名称 都没改,延续了下来。 |
3 FucUrFrd 2021-03-20 21:31:43 +08:00 via Android 你之前用阿里的我就笑了 |
![]() | 4 Joker123456789 OP @FucUrFrd 各有取舍吧,fastjson 也并非一无是处。 有句话说的好啊, 只要做一件坏事,就会被记一辈子。 |
![]() | 5 no1xsyzy 2021-03-21 00:07:55 +08:00 @Joker123456789 不是做一件坏事,而是做坏一件事 |
6 zed1018 2021-03-21 13:31:39 +08:00 你这里有些事情做的比较繁琐了,比如忽略 unknown 字段,字段名称风格,常用日期格式都可以直接在构造 mapper 的时候注册或者设定,不需要每个地方都去注解 |
![]() | 7 siweipancc 2021-03-25 09:06:46 +08:00 via iPhone 纯新人,这是 jackson 入门教程吗:D |
![]() | 8 ychost 2021-03-27 16:12:13 +08:00 FastJSON 还行哇,基本就用最简单的序列化 /反序列化,关闭 autoType |