@Nuxt/Apollo 如何从 gql 查询中删除“__typeName”
@Nuxt/Apollo How can i remove "__typeName" from gql query
我正在研究 nuxt/apollo 包,但没有关于 addTypeName 属性 的信息。 属性 应该在哪里设置?
注意:所有关于@nuxt/apollo 的安装。 (作为模块等导入)
版本信息:
"@nuxtjs/apollo": "^4.0.0-rc8",
My apollo config in nuxt.config.js :
apollo: {
includeNodeModules: false,
authenticationType: 'Basic',
defaultOptions: {
$query: {
loadingKey: 'loading',
fetchPolicy: 'cache-and-network'
}
},
clientConfigs: {
default: {
httpEndpoint: 'DEFAULT_GRAPHQL_ENDPOINT',
tokenName: 'apollo-token' // optional
},
financial: {
httpEndpoint: 'NEWS_GRAPHQL_ENDPOINT',
tokenName: 'apollo-token',
addTypename: false --> **Is not working**
}
}
}
My Index.vue page is :
apollo: {
data: {
query: gql`
{
newsJson(take: 1) {
key
*GENERATES __typeName when sending request to Graphql*
}
}
`,
client: 'financial'
}
}
My graphql query (via graphiql on web) :
{
newsJson(take:1){
key
approve
}
}
And Response is :
{
"data": {
"newsJson": [
{
"key": 2071554,
"approve": false
}
]
}
}
当我发送请求时 __typeName 让我在 graphql 网页端崩溃。我怎样才能防止添加 __typeName 属性 请求?
此致,
谢谢
InMemoryCache
有一个可选的 addTypename
参数,可以设置为 false
来防止这种行为。所以你可以这样做:
clientConfigs: {
default: {
...
inMemoryCacheOptions: {
addTypename: false,
},
},
}
但是,非常不建议这样做。 __typename
字段与 id
/_id
字段一起用于为缓存中的单个节点生成密钥。有关更多详细信息,请参阅 here。删除 __typename
可能会在您的应用程序中导致错误和意外行为,不应这样做。
我正在研究 nuxt/apollo 包,但没有关于 addTypeName 属性 的信息。 属性 应该在哪里设置? 注意:所有关于@nuxt/apollo 的安装。 (作为模块等导入)
版本信息:
"@nuxtjs/apollo": "^4.0.0-rc8",
My apollo config in nuxt.config.js :
apollo: {
includeNodeModules: false,
authenticationType: 'Basic',
defaultOptions: {
$query: {
loadingKey: 'loading',
fetchPolicy: 'cache-and-network'
}
},
clientConfigs: {
default: {
httpEndpoint: 'DEFAULT_GRAPHQL_ENDPOINT',
tokenName: 'apollo-token' // optional
},
financial: {
httpEndpoint: 'NEWS_GRAPHQL_ENDPOINT',
tokenName: 'apollo-token',
addTypename: false --> **Is not working**
}
}
}
My Index.vue page is :
apollo: {
data: {
query: gql`
{
newsJson(take: 1) {
key
*GENERATES __typeName when sending request to Graphql*
}
}
`,
client: 'financial'
}
}
My graphql query (via graphiql on web) :
{
newsJson(take:1){
key
approve
}
}
And Response is :
{
"data": {
"newsJson": [
{
"key": 2071554,
"approve": false
}
]
}
}
当我发送请求时 __typeName 让我在 graphql 网页端崩溃。我怎样才能防止添加 __typeName 属性 请求?
此致,
谢谢
InMemoryCache
有一个可选的 addTypename
参数,可以设置为 false
来防止这种行为。所以你可以这样做:
clientConfigs: {
default: {
...
inMemoryCacheOptions: {
addTypename: false,
},
},
}
但是,非常不建议这样做。 __typename
字段与 id
/_id
字段一起用于为缓存中的单个节点生成密钥。有关更多详细信息,请参阅 here。删除 __typename
可能会在您的应用程序中导致错误和意外行为,不应这样做。