Martian 3.2.18 发布,弃用 FastJson

来源: 投稿
2021-03-20

本次更新如下

  1. 开放JWT秘钥配置权限
  2. 丢弃FastJson改用Jackson

JWT秘钥配置权限

在配置类重写此方法即可

@Override
public JWTConfig jwtConfig() {
     JWTConfig jwtConfig = new JWTConfig();
     // token失效时间单位,默认: 秒
     jwtConfig.setCalendarField(Calendar.SECOND);
     // token失效时间,默认: 86400秒
     jwtConfig.setCalendarInterval(86400);
     // 秘钥,默认: 一个UUID
     jwtConfig.setSecret(UUID.randomUUID().toString());
     return jwtConfig;
}

改用Jackson后有哪些影响

除了实体类映射有影响之外,其他地方均不受影响

一、实体类的字段映射

开发中经常出现这种情况,实体类的命名规范是驼峰,而数据库字段是下划线分割,所以会出现对不上的情况,这个时候我们可以用这个注解来解决:

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;

}

二、避免字段不一致而报错

  • 有时候,我们查询出来的结果集里面的字段,在实体类里面会找不到
  • 比如,实体类的字段是 a, b 但是结果集里面的字段是 a, b, c,这个c在实体类里不存在
  • 这种情况下会出现异常,所以为了避免这个异常的出现,可以用到这个注解:
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 HH🇲🇲ss")
    private Date createTime;

}

实体类需要写get/set方法,或者用lombok注解

更多信息可以前往官网查看

http://mars-framework.com/

展开阅读全文
4 收藏
分享
加载中
精彩评论
前段时间看到一篇fastjson漏洞多转向Jackson的文章时,搜索了一下Jackson安全漏洞,发现安全问题也不少。
2021-03-21 16:33
1
举报
考虑JSON门面,这样用户可以灵活选择JSON库。
2021-03-21 15:25
1
举报
安全人员最喜欢FastJson 了,可以靠着他再吃一百年~
2021-03-21 11:08
1
举报
最新评论 (9)
公司项目用fastjson太难受了,一有漏洞 几十个项目一起升级. 现在新项目已经弃用fastjson了
2021-03-22 15:57
0
回复
举报
前段时间看到一篇fastjson漏洞多转向Jackson的文章时,搜索了一下Jackson安全漏洞,发现安全问题也不少。
2021-03-21 16:33
1
回复
举报
考虑JSON门面,这样用户可以灵活选择JSON库。
2021-03-21 15:25
1
回复
举报
安全人员最喜欢FastJson 了,可以靠着他再吃一百年~
2021-03-21 11:08
1
回复
举报
使用fastjson遇到什么问题了?
2021-03-21 10:20
0
回复
举报
我个人没有遇到什么问题,但是我的项目是面向开发者的,我得考虑他们的意愿。 因为之前也爆出过一些安全隐患,很多人已经不太相信fastjson了。 但是我个人还是会继续用的,只要不放弃维护,我就会一直支持fastjson。
2021-03-21 11:17
0
回复
举报
可以考虑redkale的JsonConvert,无论性能还是功能,都是超fast的 :)
2021-03-21 22:03
0
回复
举报
您好,请问这个是类似jfinal的吗?
2021-03-21 00:25
0
回复
举报
赞👍
2021-03-20 22:01
0
回复
举报
更多评论
9 评论
4 收藏
分享
返回顶部
顶部