5.1 评论服务领域开发
我们先回顾一下之前的领域模型
首先我们需要完成这两个模型的创建的,领域模型一般存放在model包下,这个完整的包路径就是
com.youkeda.comment.model
User 对象里有一个属性 pwd 。
我们都知道密码是不能泄漏的,所以我们需要在服务端输出的时候对这个属性进行处理。我们可以使用 jackson 的注解,如下:
package com.youkeda.comment.model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.NullSerializer;
import java.time.LocalDateTime;
/**
 */
public class User {
    @JsonSerialize(using = NullSerializer.class)
    private String pwd;
}
当我们配置了
@JsonSerialize(using = NullSerializer.class)
这个注解
API 在返回 JSON 结果的时候,这个字段的值会被重置为 null (相当于实际值被隐藏了),从而达到安全的作用。
不是修改了密码值,仅仅在序列化输出的时候做处理,不要理解错了
另外,对于时间我们一般都希望输出的格式是yyyy-MM-dd HH:mm:ss,我们依然可以借助 jackson 的注解来完成格式化输出
package com.youkeda.comment.model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.NullSerializer;
import java.time.LocalDateTime;
/**
 */
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;
}
请根据上面的要求,完成 User、Comment 两个类对象的开发
别忘记创建 getter、setter 方法哦

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号