GraphQL:如何处理字符串和JSON的混合模式,而不使用GraphQL -type- JSON ?



我是GraphQL新手,还在学习。我有一个rest API返回如下响应:

{
"campaign_types": [
{
"name": "USA",
"scenarios": [
{
"id": "jsdx-sdsd-xsds",
"name": "NBA"
},
{
"id": "jsds-sdfs-xdfd",
"name": "NFL"
}
],
"id:": 0
},
{
"name": "Australia",
"scenarios": [
{
"id": "jtds-sada-xdfs",
"name": "AFL"
},
{
"id": "klhj-sdfs-fdfs",
"name": "NRL"
}
],
"id:": 1
}
]
}

我想把它转换成一个GraphQL API在另一个应用程序构建与TypeScriptReact前端,因为它只处理GraphQL API。我的要求是在我的第二个应用程序中,当我使GraphQL API调用时,它应该返回与其他API相同的API响应。

我得到这个错误时,我已经定义了我的GraphQL模式如下:

type CommsCampaignType {
id: ID!
name: String!
scenarios: [JSON]
}

错误:

Error: Type "JSON" not found in document

我看到一些说使用grahql-type-json的帖子,但如果有办法,我想不使用它。我要寻找的最终结果是在我的UI中,我有一个下拉菜单,显示了Campaign_Type名称为"美国", "澳大利亚"当我选择时,应该会显示各自的场景名称"NBA", "NFL"one_answers"AFL", "NRL"分别在第二个下拉列表中。因此,我的GraphQL API查询应该能够产生该结果。

如果有人能建议一个最好的方法,那就太好了。谢谢。

定义Scenario类型:

type Scenario {
id: ID!
name: String!
}

然后用它在你的CommsCampaignType:

type CommsCampaignType {
id: ID!
name: String!
scenarios: [Scenario]
}

最新更新