Graphql 如何在Apollo客户端的gql查询中定义类型?
我的阿波罗服务器有以下定义Graphql 如何在Apollo客户端的gql查询中定义类型?,graphql,apollo,apollo-client,Graphql,Apollo,Apollo Client,我的阿波罗服务器有以下定义 input MinMax{ min:Float max:Float } input ScreenerInput{ fy:Int! quarter:Int! ltp:MinMax eps:MinMax pe:MinMax netWorth:MinMax paidUp:MinMax reserve:MinMax netProfit:MinMax } 如何在Apollo客户端中定义MinMax类型,以发送MinMax类型的变量。
input MinMax{
min:Float
max:Float
}
input ScreenerInput{
fy:Int!
quarter:Int!
ltp:MinMax
eps:MinMax
pe:MinMax
netWorth:MinMax
paidUp:MinMax
reserve:MinMax
netProfit:MinMax
}
如何在Apollo客户端中定义MinMax
类型,以发送MinMax
类型的变量。到目前为止,我只做标量类型,所以我的查询很简单
我的查询类型是ScreenedCompanies(条件:ScreenerInput!):[ScreenedCompanies]
如果我像下面这样直接查询,它会工作
{
screeenedCompanies(criteria:{
fy:2075
quarter:2
eps:{
min:30
max:40
}
}){
sector
symbol
}
}
我想要的是这样的查询,以便可以更改变量
query getScreenedCompanies($criteria:<What type should be here ?>){
{
screeenedCompanies(criteria:$criteria){
sector
symbol
}
}
}
我的变量如下所示
query getScreenedCompanies($criteria:ScreenerInput!){
screeenedCompanies(criteria:$criteria){
sector
symbol
}
}
{
"criteria": {
"fy": 2075
"quarter": 4
"ltp": {
"min": 345
"max": 400
}
}
}
我收到以下错误
"error": {
"errors": [
{
"message": "Variable \"$criteria\" of required type \"ScreenerInput!\" was not provided."
它的工作方式与
GQL
中的任何标量类型相同。只需使用与服务器上相同的输入名称来定义它们(在您的情况下,如MinMax
或ScreenerInput
)。您不需要在客户端描述其形状,服务器将为您验证:)
别忘了加上感叹号
代码>,如果需要参数。您好,谢谢您的回答。但我还是不能让它工作。我的query
类型是ScreenedCompanies(条件:screeneriput!):[ScreenedCompanies]
。如何从apollo客户端查询此信息。MinMax
是我的案例不是必填字段,因此没有代码>标记。但我仍然无法让它工作。您有哪些错误,您使用的是什么查询?您可以更新您的问题以反映这一点。谢谢您的回复。我已经编辑了这个问题。你能检查一下吗?我明白了。那么,您具体看到了什么错误?在查询中,您需要使用与服务器上相同的输入类型:screeneriput代码>谢谢。现在我想我已经接近正确的方向了,但是仍然得到了上面的错误。我已经编辑了这个问题。你能检查一下吗。