Graphql-java GraphQLResolver及PropertyDataFetcher

罗星洲
2023-12-01

graphql -java 默认支持一般的java bean的properties 读取,一般不需要使用GraphQLResolver。

使用GraphQLResolver可以类似为默认对象增加使用get方法增加属性,这些新增属性(get方法)无需在原有对象上定义。
如以下代码为Post对象增加一个Random String的返回

@Component
class PostResolver implements GraphQLResolver<Post> {
	Random r = new Random();

	public String getRandom(Post post) {
		return "string:"+r.nextInt();
	}
}

对应scheme定义如下

type Post {
    id: ID!
    text: String
    comments: [Comment!]!
    random: MyString
}

PS:MyString 为自定义的scalar类型(String)

 类似资料: