我正在使用Jackson2和Spring开发REST服务。
我知道Jackson2提供了一组非常有用的注释。根据要求,我们必须引入自己的自定义注释(例如@Summary
,@Detail
等)。
我想了解是否有可能让杰克逊使用我自己的注释及其提供的注释。
感谢是否有人可以展示一些示例或指出我的一些文档。
答案 0 :(得分:0)
http://blog.palominolabs.com/2012/06/05/writing-a-custom-jackson-serializer-and-deserializer/这是一个很好的教程,但我认为你需要在所选字段上方添加@jsonserializer和@jsondeserealizer,这些注释会收到一个类,你应该在每种情况下从序列化器和反序列化器扩展并实现你想要的过程逻辑。
http://texscribbles.blogspot.mx/2010/07/custom-json-serialization-with-spring.html?m=1
@JsonSerialize(using = JsonDateSerializer.class)
@JsonDeserialize(using = JsonDateDeserializer.class)
private Date approvalDate;
public class JsonDateSerializer extends JsonSerializer<Date> {
@Override
public void serialize(final Date value, final JsonGenerator jgen,
final SerializerProvider provider) throws IOException,
JsonProcessingException {
jgen.writeString(String.valueOf(value.getTime()));
}
}
答案 1 :(得分:0)
在文档中查看Contextual Handlers。此解决方案可以更加优雅(取决于您的使用案例),因为您可以在映射器中注册序列化程序,而无需在实际类中引用自定义序列化程序。