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
Nestjs - @nestjs/graphql GraphQLGatewayModule 总是返回错误请求