首页 > 解决方案 > 如何自定义序列化

问题描述

我是 graphql 和 spqr 的新手。我想用个人格式序列化我的日期。我该怎么做?

标签: spring-bootgraphqlgraphql-spqr

解决方案


我给出的最佳答案是:不要!SPQR 将所有时间标量序列化为 UTC 区域中的 ISO 8601 字符串是有原因的。它是最便携的格式,任何客户端都可以轻松解析和理解,任何转换和显示逻辑最好留给客户端自己。

如果由于某种原因这是不可能的(例如向后兼容旧客户端),最好的办法是提供自己的标量实现。将来可能会有一个特性来避免这种情况,但目前您必须实现自己的标量TypeMapper,并将所需的 Java 类型映射到这些标量。查看现有ScalarMapper的灵感。拥有映射器后,通过generator.withTypeMappers.


推荐阅读