合并graphql服务器架构

时间:2019-05-04 20:10:49

标签: javascript node.js express graphql

我正在尝试创建graphql微服务体系结构,并且希望能够使用来自其他服务器的属性来动态更新架构。

例如,我有一个使用这种模式的服务library

type Query {
  movie: [Movie]
}

enum Status {
  IN_LIBRARY
  WISHLIST
}

type Movie {
  id: Int
  status: Status
}

我想用以下模式扩展具有不同服务tmdb的属性的电影对象

type Query {
  movie(filter: MovieFilter): [Movie]
}

type Movie {
  id: Int
  title: String
  tagline: String
  overview: String
  backdrop: String
  poster(width: Int): String
  budget: Int
  genre: [String]
  release(format: String): String
}

我看过几篇文章,其中提到了两种模式,但它们总是假设2个远程graphql服务器,而我只想在需要时从tmdb查询library

这有可能吗?

我对library的当前设置如下:

  var app = express();
  app.use(
    "/graphql",
    graphqlHTTP(async (req, res, graphQLParams) => ({
      schema: buildSchema(fs.readFileSync("assets/schema.graphql", "utf8")),
      rootValue: await server(req, graphQLParams),
      graphiql: true
    }))
  );

0 个答案:

没有答案