在Spring Boot Web 项目中,当使用JSON格式接收数据和返回数据的时候,Spring Boot 默认使用一个ObjectMapper实例来序列化响应和反序列化请求。
在本文中,我们将看看配置序列化和反序列化选项的最常用方法。
默认配置
默认情况下,Spring Boot的配置将禁用以下配置项。
- MapperFeature.DEFAULT_VIEW_INCLUSION
- DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES
- SerializationFeature.WRITE_DATES_AS_TIMESTAMPS。
举个例子
- 客户端将发送一个GET请求到我们的/coffee?name=Javazzz。
- 控制器将返回一个新的Coffee对象。
- Spring将使用ObjectMapper将我们的POJO序列化为JSON。
我们将通过使用String和LocalDateTime对象来示范定制选项。
public class Coffee { private String name; private String brand; private LocalDateTime date; //getter and setter }
我们还将定义一个简单的REST控制器来演示序列化。
@GetMapping("/coffee") public Coffee getCoffee( @RequestParam(required = false) String brand, @RequestParam(required = false) String name) { return new Coffee() .setBrand(brand) .setDate(FIXED_DATE) .setName(name); }</