导读


由于项目需要,使用Lombok的时候 @JsonFormat 格式化日期的时候不起作用。

使用


实体类

  1. import com.fasterxml.jackson.annotation.JsonFormat;
  2. import lombok.Data;
  3. import java.util.Date;
  4. @Data
  5. public class Ts {
  6. private String id;
  7. private String name;
  8. private Integer age;
  9. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  10. private Date cTime;
  11. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  12. private Date insertime;
  13. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  14. private Date updateTime;
  15. }

测试

控制层

  1. import org.springframework.web.bind.annotation.RequestMapping;
  2. import org.springframework.web.bind.annotation.RestController;
  3. import java.util.ArrayList;
  4. import java.util.Date;
  5. import java.util.List;
  6. import java.util.UUID;
  7. @RequestMapping("/api")
  8. @RestController
  9. public class TsController {
  10. @RequestMapping("/index")
  11. public List<Ts> execute() {
  12. Ts ts = new Ts();
  13. ts.setAge(10);
  14. ts.setCTime(new Date());
  15. ts.setInsertime(new Date());
  16. ts.setUpdateTime(new Date());
  17. ts.setId(UUID.randomUUID().toString());
  18. ts.setName("小米");
  19. Ts s = new Ts();
  20. s.setAge(null);
  21. s.setCTime(new Date());
  22. s.setInsertime(new Date());
  23. s.setUpdateTime(new Date());
  24. s.setId(String.valueOf(Math.random()));
  25. s.setName("小吴");
  26. List list = new ArrayList<>();
  27. list.add(s);
  28. list.add(ts);
  29. return list;
  30. }
  31. }

发送请求获取数据

  1. GET http://localhost:8080/api/index
  2. [
  3. {
  4. "id": "0.8696139330472303",
  5. "name": "小吴",
  6. "cTime": "2020-10-27 10:28:09",
  7. "insertime": "2020-10-27 10:28:09",
  8. "updateTime": "2020-10-27 10:28:09",
  9. "ctime": "2020-10-27T02:28:09.045+0000"
  10. },
  11. {
  12. "id": "39547d17-d214-4fee-8b07-eb39e8e6edb3",
  13. "name": "小米",
  14. "age": 10,
  15. "cTime": "2020-10-27 10:28:09",
  16. "insertime": "2020-10-27 10:28:09",
  17. "updateTime": "2020-10-27 10:28:09",
  18. "ctime": "2020-10-27T02:28:09.045+0000"
  19. },
  20. {
  21. "id": "10",
  22. "address": "杭"
  23. }
  24. ]

image.png

结论

使用Lombok的定义的实体类的时候,属性的第二个字母不支持大写,否则会出现重复大小写结果(如上述cTime、和ctime两条数据)。支持除第二个字母之外的字母大写。

END


搞定~