是否可以从GraphQL模式生成可用于常见RESTAPI的TypeScript类型?
我们正在使用一个提供GraphQL和RESTAPI的CMS。上级决定使用REST。但是我们仍然希望有一些代码生成来使我们的工作更容易。使用REST,我们需要在CMS类型发生变化时手动创建/更新我们的类型。GraphQL模式由CMS本身更新,只需运行一些导入/生成作业并获得正确的类型就好了。
我们尝试了不同插件、预设的graph ql-codesen,这就是我们得到的:
export type Bar = {
__typename?: 'Bar';
title?: Maybe<Scalars['String']>;
};
export type Foo = {
__typename?: 'Foo';
footerConnection?: Maybe<FooBarConnection>;
title?: Maybe<Scalars['String']>;
};
export type FooBarConnection = {
__typename?: 'FooBarConnection';
edges?: Maybe<Array<Maybe<FooBarEdge>>>;
totalCount?: Maybe<Scalars['Int']>;
};
export type FooBarEdge = {
__typename?: 'FooBarEdge';
node?: Maybe<FooBarNode>;
};
export type FooBarNode = Bar;
这对于graph ql查询非常有用,但遗憾的是,我们没有在代码中使用graph ql。
这是我们需要的(或接近它的东西,没有边
、连接
、节点
):
export type Bar = {
__typename?: 'Bar';
title?: Maybe<Scalars['String']>;
};
export type Foo = {
__typename?: 'Foo';
bar?: Maybe<Bar>;
title?: Maybe<Scalars['String']>;
};
是否有工具或graph ql-codecen预设/插件或graph ql-codecen的某些特定配置可以帮助完成此任务?
提前感谢。
目前没有办法让GraphQL代码生成器只生成使用的类型。这是我们知道的请求,计划在下一个主要版本中进行:https://github.com/dotansimha/graphql-code-generator/issues/8296