不允许在 GraphQL Schema 中使用空字符串
Do not allow empty strings in GraphQL Schema
我们有一个字段需要类型为 String!
的不可为 null 的字符串,但是如果它是空字符串或只有空格的字符串,Apollo 将排除该字段。
我们已经尝试使用标量类型 NonEmptyString
但是没有成功。
有没有办法将非空字符串类型添加到我们的 Apollo Server graphql 架构中?
谢谢
您好,这应该可以使用自定义标量
export const NonEmptyString = new GraphQLScalarType({
name: 'NonEmptyString',
description: 'Non empty string',
serialize: (value: unknown): string => {
if (typeof value !== 'string' || value === '') { // or any custom validation
throw new Error('Wrong value type');
}
return value
},
parseValue: (value: unknown): string => {
if (typeof value !== 'string' || value === '') {
throw new Error('Wrong value type');
}
return value
},
});
我们有一个字段需要类型为 String!
的不可为 null 的字符串,但是如果它是空字符串或只有空格的字符串,Apollo 将排除该字段。
我们已经尝试使用标量类型 NonEmptyString
但是没有成功。
有没有办法将非空字符串类型添加到我们的 Apollo Server graphql 架构中?
谢谢
您好,这应该可以使用自定义标量
export const NonEmptyString = new GraphQLScalarType({
name: 'NonEmptyString',
description: 'Non empty string',
serialize: (value: unknown): string => {
if (typeof value !== 'string' || value === '') { // or any custom validation
throw new Error('Wrong value type');
}
return value
},
parseValue: (value: unknown): string => {
if (typeof value !== 'string' || value === '') {
throw new Error('Wrong value type');
}
return value
},
});