最近在学习做微服务的项目,总结了一些平常没有注意到的细节,记录于此

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作为敏感数据没有传回

发表回复