【发布时间】:2019-04-20 12:29:37
【问题描述】:
我使用 Apollo server 2.0 作为我的 rest api(不同的微服务)上的 graphql 聚合层。
我想直接从微服务的 api 响应中生成 graphql 架构,而不是手动编写它们,这可能容易出错。
例如,如果我的 api 响应是
const restApiResponse = {
"id": 512,
"personName": "Caribbean T20 2016",
"personShortName": "caribbean-t20 2016",
"startDate": "2016-06-29T19:30:00.000Z",
"endDate": "2016-08-08T18:29:59.000Z",
"status": 0,
};
然后我想根据提供的 typeName 生成以下架构,例如 Person
-
type Person {
id: Float
personName: String
personShortName: String
startDate: String
endDate: String
status: Float
}
【问题讨论】:
-
您目前使用什么来验证这些 REST 端点的响应?
-
@Daniel 首先我没有得到“响应验证”部分。但现在不进行响应验证。它完全是从头开始编写的。
-
不确定在这种情况下“从头开始编写”是什么意思。看到某种形式的响应(输出)验证是很常见的——即一种机制,可以根据某些模式验证您的响应。 Swagger、Joi 和 JSON Schema 都是这样的例子。我问的原因是,如果您已经在使用类似的东西,那么很有可能有一个工具可以将该模式转换为 GraphQL 模式。
-
@DanielRearden 哦,是的,我记得我们声明了一个 yaml 文件。但在这种情况下,我没有任何架构验证。
-
因此您可以查看swagger-to-graphql 或graphql-liftoff 之类的内容
标签: schema graphql apollo-server