如何从模型自动生成包含完整特性的graphql.schema?
从模型/数据库Schema生成GraphQL Schema的实用工具
针对手动维护GraphQL Schema成本高、现有工具存在生成不全、不支持接口、过滤器缺失gte/lte/notIn/游标等关键特性的问题,推荐几个能解决这些痛点的工具:
Prisma
可从数据库Schema反向生成Prisma模型,进而产出包含完整CRUD操作、关联关系的GraphQL Schema。原生支持gte/lte/notIn等过滤器,以及游标分页,同时支持自定义扩展接口类型,覆盖你需要的核心特性。TypeGraphQL
即你调研过的ts-graphql,基于TypeScript类与装饰器生成Schema,天生支持接口类型定义。过滤器方面,可通过@ArgsType结合类验证库自定义包含gte/lte/notIn的过滤参数,游标分页也能通过编写Resolver逻辑轻松实现,之前若未达到预期,大概率是没用到它的扩展能力。Hasura
直接对接数据库,自动识别表结构与关联关系,一键生成完整的GraphQL API。过滤器原生支持所有常用操作符(包括你提到的gte/lte/notIn),游标分页为内置功能,还支持自定义接口和扩展字段,无需手动编写任何模型代码。GraphQL Code Generator
高度灵活的生成工具,支持从TypeScript类型、数据库Schema等多种源生成GraphQL Schema。通过配置对应插件(比如typescript-resolvers),可自定义生成包含接口、全量过滤器(含游标相关)的Schema,完全适配定制化需求。
内容的提问来源于stack exchange,提问作者DragonKnight
相关产品推荐
相关产品推荐

