我正在尝试创建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
}))
);