如何使用SPQR获取生成的方案文件.graphqls?

时间:2018-08-29 21:47:57

标签: java graphql-java graphql-spqr

我非常喜欢SPQR使与现有系统轻松集成的方式,我唯一想看到的是.graphqls文件,因此我可以了解更多有关GraphQL语法的信息。 / p>

是否可以通过集成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 UserService {

    @GraphQLQuery(name = "user")
    public User getById(@GraphQLArgument(name = "id") Integer id) {
      ...
    }
}

预期输出:

type User {
    id: Int!
    name: String!
    registrationDate: String
}

Query{
 user(Int):User 
}

2 个答案:

答案 0 :(得分:2)

这不是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);

答案 1 :(得分:0)

在应用程序属性中添加 graphql.spqr.gui.enabled=true 启用 gui(playground)。可以从 GUI 浏览和下载架构和文档。