我想在我的nestjs项目中使用graphql片段,但是我在官方网站上找不到任何文档。 我试图将片段添加到我的* .graphql文件中:
fragment fragmenName on MyType {
attribute
}
在服务器启动时,使用所有类型/接口和查询(片段除外)将文件编译(?)到qraphql.ts。 appolo服务器也找不到该片段...
我想念什么吗?
答案 0 :(得分:0)
Nest是服务器端框架。您不能将片段用作架构定义的一部分-在向服务器发出请求时,片段只能在客户端使用。
答案 1 :(得分:0)
@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));
要理解的关键是,我需要在查询中,在客户端而不是在服务器上定义片段。