gpt4 book ai didi

java - graphql-spqr 中 Double 值的 NaN 模型

转载 作者:行者123 更新时间:2023-12-02 01:02:35 25 4
gpt4 key购买 nike

没有标准来表示NaNINFINITY Graphql 都不在以及 JSON .

在 JavaScript 中,JSON.stringify(0/0)JSON.stringify(1/0) 将仅返回字符串 null

当我提供 Java 支持的 GraphQL 端点时,它不会造成什么麻烦。我的值可以是 Java 中任何有效的 Double

    @GraphQLQuery
private Double precentage;

我几乎没有解决方法,我可以在我正在做的 setter 中修补它。只是想知道是否存在事实上的标准来以更好的方式处理它。

最佳答案

我也曾想过这个问题...目前的情况是,Double(Java 类型)映射到 GraphQL Float 标量,它不能表示 NaN 或无穷大。您可以做的是实现您自己的标量(例如称为Double)并决定如何处理这些特殊情况(使用现有的标量实现作为指导)。也许使用诸如 NaN+Infinity-Infinity 之类的字符串?最糟糕的是,无论您采用何种约定,客户端也需要意识到这一点,因为 JSON 也没有这些值的表示形式。

一旦您有了满意的自定义标量,您就可以实现一个 super 简单的TypeMapper,它支持Double(Java 类型)并返回这个新标量。

或者回答你原来的问题 - 不,不幸的是,graphql-java 或 SPQR 中还没有任何开箱即用的东西。但我很高兴扩展 SPQR 的自定义标量来处理这个问题...如果您想出一个好的策略,请告诉我。

关于java - graphql-spqr 中 Double 值的 NaN 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57758229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com