[英]GraphQL : Query failed to validate
我正在一個簡單的 java 程序中測試 graph-spqr 庫。
這是我到目前為止所做的:
public class GraphQLResolver {
private String status;
private Integer price;
@GraphQLMutation(name="updateStatusOrder")
public void updateStatusOrder(@GraphQLArgument(name="id") String orderId,@GraphQLArgument(name="status") String status) {
//to do
}
@GraphQLQuery(name="getStatus")
public String getStatus(@GraphQLArgument(name="id") String orderId) {
this.status="Example of status";
return this.status;
}
}
然后,我在 main 方法中調用構建 GraphQL 方法
public class Main {
public static void main(String[] args) {
GraphQLSchema schema = new GraphQLSchemaGenerator()
.withOperationsFromSingleton(new GraphQLResolver())
.generate(); //done ;)
GraphQL graphQL = new GraphQL.Builder(schema).build();
ExecutionResult result = null;
result = graphQL.execute("{getstatus(id:123){status}}");
}
}
我有錯誤:查詢無法驗證:'{status(id:123){status}}'
怎么了?
我想正確的查詢應該是:
{
getstatus(id:"123")
}
原因如下:
您將 id 參數定義為 String ,因此需要在參數值周圍使用雙引號。
getStatus
查詢被定義為返回一個String
,它是一個標量但不是 GraphQL 的對象類型。 因此,您無需進一步定義要返回的字段,因為標量沒有可供您選擇的任何字段。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.