什么是宏?
宏是一种元编程的方式,和Java1.6引进的AnnotationProcessor类似,它可以在编译时生成源代码。这种元编程技术可以让我们从样板代码中解脱出来,比如Lombok。
默认情况下,SpringBoot提供了DefaultErrorAttributes类,该类实现了ErrorAttributes接口,以在发生未处理的错误时生成错误响应。在默认错误的情况下,系统会生成一个 JSON 响应结构,我们可以更仔细地检查它:
1 | { |
JSON序列化/反序列化的工具非常多,Google的Gson、Alibaba号称世界最快的FastJson、实现了Java官方的JSON Binding API(JSR 367)的Eclipse Yasson和Apache Johnzon。
这些库始终都不如Jackson好用。不仅仅因为Jackson具有极致的可扩展性,可以无痛对接文本格式XML、csv, properties, yaml和二进制格式的avro, cbor, ion, protobuf, smile,还因为他有简单易用的多态反序列化功能。Gson等库实现多态反序列化做法非常的不优雅。