杂记

13 篇文章 1 订阅
3 篇文章 0 订阅
  1. 在服务端输出时过滤掉某个属性
    	public class User {
    	    @JsonSerialize(using = NullSerializer.class)
    	    private String pwd;
    }
    
    此时 API 在返回 JSON 结果的时候,就不会有这个字段的值了
  2. 希望输出的格式是yyyy-MM-dd HH:mm:ss
    	public class User {
    	
    	    @JsonSerialize(using = NullSerializer.class)
    	    private String pwd;
    	
    	    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    	    private LocalDateTime gmtCreated;
    	
    	    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    	    private LocalDateTime gmtModified;
    	}
    
  3. 在自定义 JSON 输出的时候,使用别名
    /**
    * JSON 返回模型
    */
    public class Result<D> implements Serializable {
    
        @JsonProperty("isSuccess")
        private boolean success = false;
    
        private String code;
        private String message;
    
        private D data;
    
        // 省略 getter、setter
    
    }
    
  4. 在输出 JSON 的时候,值为 null 的就不要输出了
    spring.jackson.deserialization.fail-on-unknown-properties=false
    spring.jackson.default-property-inclusion=non_null
    

    允许序列化未知的字段,可以兼容 Java 模型和 JSON 数据不一致的情况
    忽略 null 字段

  5. 用来处理字符串的库
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.10</version>
    </dependency>
    
    可以使用StringUtils.isEmpty(str)来判断是否为空
  6. 加密,使用commons-codec库进行加密
    <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>1.14</version>
    </dependency>
    
    例子:
    //密码加自定义盐值,确保密码安全
    String saltPwd = pwd + "_hehe009";
    //生成md5值,并转为大写字母
    String md5Pwd = DigestUtils.md5Hex(saltPwd).toUpperCase();
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值