如何使用SPQR获取生成的scheme文件.graphqls?
How to get the generated scheme file .graphqls using SPQR?
我真的很喜欢 SPQR 使 graphql 与现有系统轻松集成的方式,我唯一想看到的是 .graphqls
文件,这样我就可以了解有关 GraphQL 语法的更多信息.
有没有办法从集成了 SPQR 注释的现有代码生成方案文件?
为了提供一些代码,让我们使用来自 GitHub site
的相同代码
实体:
public class User {
private String name;
private Integer id;
private Date registrationDate;
@GraphQLQuery(name = "name", description = "A person's name")
public String getName() {
return name;
}
@GraphQLQuery
public Integer getId() {
return id;
}
@GraphQLQuery(name = "regDate", description = "Date of registration")
public Date getRegistrationDate() {
return registrationDate;
}
}
服务class:
class UserService {
@GraphQLQuery(name = "user")
public User getById(@GraphQLArgument(name = "id") Integer id) {
...
}
}
预期输出:
type User {
id: Int!
name: String!
registrationDate: String
}
Query{
user(Int):User
}
这并不是 SPQR 特有的。所有需要的类都由graphql-java自己提供:
new SchemaPrinter().print(schema);
要获得更详细的输出(标量、内省类型等),请向打印机提供选项:
new SchemaPrinter(
// Tweak the options accordingly
SchemaPrinter.Options.defaultOptions()
.includeScalarTypes(true)
.includeExtendedScalarTypes(true)
.includeIntrospectionTypes(true)
.includeSchemaDefintion(true)
).print(schema);
在应用程序属性中添加 graphql.spqr.gui.enabled=true
可启用 gui(playground)
。可以从 GUI 探索和下载架构和文档。
我真的很喜欢 SPQR 使 graphql 与现有系统轻松集成的方式,我唯一想看到的是 .graphqls
文件,这样我就可以了解有关 GraphQL 语法的更多信息.
有没有办法从集成了 SPQR 注释的现有代码生成方案文件?
为了提供一些代码,让我们使用来自 GitHub site
的相同代码实体:
public class User {
private String name;
private Integer id;
private Date registrationDate;
@GraphQLQuery(name = "name", description = "A person's name")
public String getName() {
return name;
}
@GraphQLQuery
public Integer getId() {
return id;
}
@GraphQLQuery(name = "regDate", description = "Date of registration")
public Date getRegistrationDate() {
return registrationDate;
}
}
服务class:
class UserService {
@GraphQLQuery(name = "user")
public User getById(@GraphQLArgument(name = "id") Integer id) {
...
}
}
预期输出:
type User {
id: Int!
name: String!
registrationDate: String
}
Query{
user(Int):User
}
这并不是 SPQR 特有的。所有需要的类都由graphql-java自己提供:
new SchemaPrinter().print(schema);
要获得更详细的输出(标量、内省类型等),请向打印机提供选项:
new SchemaPrinter(
// Tweak the options accordingly
SchemaPrinter.Options.defaultOptions()
.includeScalarTypes(true)
.includeExtendedScalarTypes(true)
.includeIntrospectionTypes(true)
.includeSchemaDefintion(true)
).print(schema);
在应用程序属性中添加 graphql.spqr.gui.enabled=true
可启用 gui(playground)
。可以从 GUI 探索和下载架构和文档。