开发时实体类编写时需要注意的细节,以及常用的一些注解
最近在学习做微服务的项目,总结了一些平常没有注意到的细节,记录于此
1. 实体类的字段数据类型都使用包装类型
实体类涉及到的属性如果是int这样的基本数据类型,那么要使用其包装类型,因为包装类型默认为null,而基本数据类型会有默认值,比如int的默认值为0
public class Hello {
public static void main(String[] args) {
TestClass testClass = new TestClass();
System.out.println(testClass.a);
System.out.println(testClass.b);
}
}
class TestClass {
int a;
Integer b;
}
执行结果:
2. 字段适当使用Jackson注解
@JsonProperty
格式化属性名,在后端传回数据给前端的时候用到
比如后端某个实体类的字段名为userId,但前端需要接收的字段名为user_id,此时我们可以使用该注解,自定义后端传回的字段名
相当于在传回数据时给该属性进行了一次重命名
如图:
@JsonInclude
在后端返回给前端数据时,有些敏感数据我们不想传给前端(比如密码),于是我们会在后端把它置为null之后再将实体返回给前端,那么要怎么保证返回的json格式数据中不包含这个字段呢,此时可以使用@JsonInclude
具体用法就是在实体类的字段名直接加上该注解
@JsonInclude(JsonInclude.Include.NON_NULL)
如图:
测试:
可以看到,userId变成了user_id,password作为敏感数据没有传回