nestjs 是不是支持 graphql 片段?

Posted

技术标签:

【中文标题】nestjs 是不是支持 graphql 片段?【英文标题】:Does nestjs supports graphql fragments?nestjs 是否支持 graphql 片段? 【发布时间】:2019-05-17 07:02:23 【问题描述】:

我想在我的 nestjs 项目中使用 graphql 片段,但我在官方网站上找不到任何文档。 我试图在我的 *.graphql 文件中添加一个片段:

fragment fragmenName on MyType 
    attribute

在服务器启动时,文件被转译(?)到 qraphql.ts,其中包含除片段之外的所有类型/接口和查询。 appolo 服务器也没有找到该片段...

我错过了什么吗?

【问题讨论】:

【参考方案1】:

@Daniel 的回应迫使我多想了一点,我得出了以下结论,试图解释一下。 例如我有以下类型:

type Car
   brand:String
   power:String
   doors:Int
   color:String

还有一个查询:

type Query 
    car: Car

所以,如果我,在客户端想问车。我可以这样做:

fetch('http://url:port', 
    methode: 'post',
    headers: ...headers
    body: JSON.stringify( query: `
        car
            brand
            color
            power
            doors
        
    `)
).then(res => res.json()).then(res=>console.log(res.data));

这将导致我的汽车的所有属性。所以现在如果我喜欢使用片段。我会做的:

fetch('http://url:port', 
    methode: 'post',
    headers: ...headers
    body: JSON.stringify( query: `
        car
            ...wholeCar
        
        fragment wholeCar on Car
            brand
            color
            power
            doors
        
    `)
).then(res => res.json()).then(res=>console.log(res.data));

要理解的关键是我需要在查询中定义片段,在客户端而不是在服务器上。

【讨论】:

以上是关于nestjs 是不是支持 graphql 片段?的主要内容,如果未能解决你的问题,请参考以下文章

使用 REST 包装 GraphQL 从 NestJS 提供 GraphQL 和 REST API

基于typescript 强大的 nestjs 框架试用

Nestjs - @nestjs/graphql GraphQLGatewayModule 总是返回错误请求

NestJS 使用 GraphQL 上传 [关闭]

实现 GraphQLModule 时 GraphQL 的 NestJS 问题

elastic APM 和 NestJS 不区分 graphql 查询