小编acr*_*sis的帖子

Schema Stitching通过添加前缀来解决冲突

所以我有这两个模式

Schema1

type Permission {
    relation: Relation
}

enum Relation {
    ONE
    TWO
    THREE
}
Run Code Online (Sandbox Code Playgroud)

SCHEMA2

type Permission {
    relation: Relation
}

enum Relation {
    FOUR
    FIVE
    SIX
}  
Run Code Online (Sandbox Code Playgroud)

预期结果类似于:(但我对不同的想法持开放态度)合并后我想做的查询是:

{
    permissions{
        relation
    }
}
Run Code Online (Sandbox Code Playgroud)

得到一个结果

"permissions": [
  {
    "relation": "ONE"
  },
  {
    "relation": "SIX"
  }
]
Run Code Online (Sandbox Code Playgroud)

要么

"permissions": [
  {
    "relation": "schema1ONE"
  },
  {
    "relation": "schema2SIX"
  }
]
Run Code Online (Sandbox Code Playgroud)

和突变像:

mutation{
  createPermission(
    relation: ONE
  ){
    relation
  }
}

mutation{
  createPermission(
    relation: SIX
  ){
    relation
  }
}
Run Code Online (Sandbox Code Playgroud)

要么

mutation{
  createPermission(
    relation: …
Run Code Online (Sandbox Code Playgroud)

typescript apollo graphql apollo-server graphql-tools

7
推荐指数
1
解决办法
293
查看次数