我正在开发一个 Spring Boot 应用程序。我为一个实体 A 创建了一个自定义序列化程序,并使用 @JsonSerialize(using = CustomSerializer.class) 注释对其进行了注册。每当我在 ResponseEntity<> 中发送 A 时,都会调用自定义序列化程序,并且到目前为止一切正常。
现在有另一个 API,我需要在其中发送 A 的集合作为响应。但是我不能使用相同的序列化程序来构造 A 的列表,因为响应参数完全不同。我需要为同一个实体再写一个序列化程序。
如何为同一实体配置 2 个序列化程序?应该根据响应中发送的对象类型调用它们,即当我发送 A 时,应该调用 serializer1,当我发送 Collection 时,应该调用 serializer2。请帮忙!