我正在使用Java的 graphql-java-annotations 库从我的Spring后端检索数据。
fin = open("C:\\ProgramData\\OutilTestObjets3D\\MaquetteCB-2019\\DataSet\\1212.osg", "rt")
fout = open("C:\\ProgramData\\OutilTestObjets3D\\MaquetteCB-2019\\DataSet\\testreecrtiure.osg", "wt")
for line in fin:
fout.write(line.write("...."))
当我调用查询时,它总是返回null。
这是我的提供者类:
<dependency>
<groupId>io.github.graphql-java</groupId>
<artifactId>graphql-java-annotations</artifactId>
<version>7.1</version>
</dependency>
这是查询:
GraphQLAnnotations graphqlAnnotations = new GraphQLAnnotations();
GraphQLSchema graphQLSchema = newSchema()
.query(graphqlAnnotations.object(QueryTest.class))
.build();
this.graphQL = GraphQL.newGraphQL(graphQLSchema).build();
最后是Test.class
@GraphQLName("queryTest")
public class QueryTest {
@GraphQLField
public static Test byId(final DataFetchingEnvironment env, @GraphQLName("id") Long id) {
return new Test();
}
}
这是我的电话:
@GraphQLName("Test")
public class Test {
private String id;
private String name;
public Test() {
this("0");
}
public Test(String id) {
this.setName("Name" + id);
this.setId(id);
}
@GraphQLField
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@GraphQLField
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
这就是我得到的结果:
{
"query" : "query queryTest { byId(id: 2) { getId } }",
"operationName" : "queryTest"
}
我调试了graphql执行程序,发现该模式包含TestClass和Test。因此,类型和查询是已知的。使用此配置,我没有提取程序或解析程序。
答案 0 :(得分:0)
找到解决方案:
为了通过AnnotationsSchemaCreator Builder正确创建模式,我不得不更改Provider类:
GraphQLSchema graphQLSchema = AnnotationsSchemaCreator.newAnnotationsSchema()
.query(QueryTest.class)
.typeFunction(new ZonedDateTimeFunction())
.build();
this.graphQL = GraphQL.newGraphQL(graphQLSchema).build();