我有一个使用获取功能发送到服务器(使用apollo服务器)的graphql查询。在发送之前,我从查询字符串中去除了所有多余的空格。我应该担心吗?
const query = `
{
thing {
id
name
relatedThing {
id
name
createdAt
}
}
}`
在query.replace(/\s+/g, ' ')
之后,我得到了...
"{ thing { id name relatedThing { id name createdAt } } }"
我没有来自服务器的任何投诉或任何怪异的行为,但是我不了解服务器的需求以及是否有可能破坏某些查询。这样可以打破一些查询吗?
答案 0 :(得分:1)
根据规格:
空白用于提高源文本的可读性,并用作标记之间的分隔,并且在任何标记之前或之后可能会出现任何数量的空白。标记之间的空格对GraphQL文档的语义意义不重要,但是字符串或注释标记内可能会出现空格字符...像空格一样,行终止符用于提高源文本的可读性,无论多少,出现在任何其他标记之前或之后,并且对GraphQL文档的语义没有意义。在任何其他标记中都找不到行终止符。
换句话说,您所做的没有任何问题。有两件事要记住: