GraphQL实战:写给全栈工程师们
上QQ阅读APP看书,第一时间看更新

2.7.2 标量值的验证

对于GraphQL系统内建的标量类型,如ID,Int,Float,Boolean和String,在实际操作中会有一些隐式的转换规则。例如下面这个查询也是合法且有效工作的:

数字10001被隐式转换成了ID或String。

动动手:为下单操作增加一个支付类型的枚举型,可以使用信用卡和支付宝两种支付方式。看看GraphQL是如何验证枚举请求的。

对于使用Scalar关键字自定义的标量类型,需要根据前后端框架的要求,手动实现自定义的验证规则。如果没有实现自定义验证规则,GraphQL会把这些标量当作String型进行验证和处理。


[1] https://github.com/graphql/express-graphql。

[2] 本书主要利用Git来管理和获取学习所需要的源代码。Git是目前最流行的版本控制工具,详细资料请参阅https://git-scm.com/doc。

[3] Node.js提供了JavaScript在服务器端的运行环境,相当于JavaScript代码的编译器和解释器,更多资料请参考https://nodejs.org。

[4] https://github.com/graphql/graphiql。

[5] 访问Altair的GitHub站点获取更多信息https://github.com/imolorhe/altair。

[6] 浮点数的具体规范,读者可以参考IEEE Standard for Floating-Point Arithmetic(IEEE 754)。