我有一个使用Spring Boot框架的应用程序,其中包含RESTful端点。我想为joda-time添加自定义序列化器,但是我无法让应用程序默认的Jackson序列化器识别我的自定义序列化器。
我使用@RepositoryRestResource创建了RESTful端点。
@RepositoryRestResource(collectionResourceRel = "x", path = "x")
public interface XRepository extends PagingAndSortingRepository<X, Long>
{
}
然后我有一个 GET 请求,返回所有 X 对象:
这是我的序列化程序:
@Component
public class JsonDateSerializer extends JsonSerializer<DateTime>
{
private static DateTimeFormatter formatter = DateTimeFormat.forPattern("dd/MM/yyyy");
@Override
public void serialize(DateTime value, JsonGenerator gen,
SerializerProvider arg2)
throws IOException, JsonProcessingException {
gen.writeString(formatter.print(value));
}
}
我将其添加到属性 Getter 中,如下所示:
@JsonSerialize(using=JsonDateSerializer.class)
public DateTime getDateCreated()
{
return dateCreated;
}
这个序列化器在普通应用中运行得很好,但当我在Spring Boot应用程序中尝试使用时,这些序列化器被忽略了。
我该如何让Spring Boot识别这些序列化器呢?
JsonSerializer
,但如果您想要反序列化某些内容,那就不太好用了。 - Sotirios Delimanolis