根据 apollo 文档,您必须通过在名为 apollo-codegen-config.json:
的文件中设置 url 来下载架构"schemaDownloadConfiguration": {
"downloadMethod": {
"introspection": {
"endpointURL": "https://myApp.com/v1/cats/_/graphql",
"httpMethod": {
"POST": {}
},
"includeDeprecatedInputValues": false,
"outputFormat": "SDL"
}
},
"downloadTimeout": 60,
"headers": [],
"outputPath": "./graphql/schema.graphqls"
}
问题是当我想使用另一种方案时,例如。 https://myApp.com/v1/dogs/_/graphql,这些方案有时共享相同的模型,例如:
type State {
country: ID!
state: String!
}
然后 cli 返回:
There can be only one type named "Date".
如何添加这两个模式?以及它如何知道何时指向 /cats 和 /dos?
我们使用两个配置,每个配置对应一个模式。我们下载并生成两个目录中的所有文件。这“解决”了您的阿波罗问题。
现在你会遇到一个 Swift 问题,因为生成的类会发生冲突。我们在生成后使用额外的步骤来重命名两个目录之一中的所有类型。我们添加一些前缀。您甚至可以同时添加前缀:DogsState... 和 CatsState...