Spring Boot + GraphQL创建API的开源案例


这是用于处理作者/书籍数据的API,可以根据作者Id获取者信息和书籍信息,数据库:
作者:

CREATE TABLE <code>author</code> (
  <code>id</code> bigint(20) NOT NULL AUTO_INCREMENT,
  <code>name</code> varchar(32) NOT NULL,
  PRIMARY KEY (<code>id</code>),
  KEY <code>author_idx1</code> (<code>id</code>)
)

书籍表:

CREATE TABLE <code>book</code> (
  <code>id</code> bigint(20) NOT NULL AUTO_INCREMENT,
  <code>name</code> varchar(32) NOT NULL,
  <code>author_id</code> bigint(20) NOT NULL,
  PRIMARY KEY (<code>id</code>),
  FOREIGN KEY (<code>author_id</code>) REFERENCES author(<code>id</code>),
  KEY <code>book_idx1</code> (<code>id</code>)
)

Schema定义:

type Author {
    id: ID!
    name: String!
    books: [Book]
}

type Book {
    id: ID!
    name: String!
}

type RegistAuthorResponse {
    name: String!,
    isRegist: Boolean!,
    errorMessage: String
}

type RegistBookResponse {
    authorId: ID!,
    name: String!,
    isRegist: Boolean!,
    errorMessage: String
}

解析器Resolver:
Resolver由GraphQL Java Tool提供。