GraphQL Apollo Server,如何使字段将空字符串注册为 null
GraphQL Apollo Server, how to make a field register an empty string as null
我有一个可为 null 的字段 'language',它实际上永远不会为 null。它要么是语言环境代码,要么是空字符串“”。这会导致我的客户端出现问题,该客户端需要区域设置代码或根本没有。
虽然我可以在我的客户端中发现这个问题,或者在我的数据库中阻止这个问题,但我更愿意在我的 GQL 服务器中处理这个问题。
我能想到的一个解决方案是检查我在数据源中收到的数据,并在必要时进行修改。但是我担心这可能会损害性能,因为这是一个非常关键的查询,我不想每次有人访问我网站上的任何页面时都使用此检查。
您将为相关字段提供自定义解析器:
const resolvers = {
SomeType: {
language (parent) => {
return parent.language || null
}
}
}
Custom scalars and enums可以用来做一些定制,f.e。验证或自动更正将提供的数据(""
转换为 null
)。
Keystone.JS 有一个很好的挂钩系统。
我有一个可为 null 的字段 'language',它实际上永远不会为 null。它要么是语言环境代码,要么是空字符串“”。这会导致我的客户端出现问题,该客户端需要区域设置代码或根本没有。
虽然我可以在我的客户端中发现这个问题,或者在我的数据库中阻止这个问题,但我更愿意在我的 GQL 服务器中处理这个问题。
我能想到的一个解决方案是检查我在数据源中收到的数据,并在必要时进行修改。但是我担心这可能会损害性能,因为这是一个非常关键的查询,我不想每次有人访问我网站上的任何页面时都使用此检查。
您将为相关字段提供自定义解析器:
const resolvers = {
SomeType: {
language (parent) => {
return parent.language || null
}
}
}
Custom scalars and enums可以用来做一些定制,f.e。验证或自动更正将提供的数据(""
转换为 null
)。
Keystone.JS 有一个很好的挂钩系统。