一开始我们有架构
type User {
id: ID!
name: String!
birthday: String!
}
经过一段时间后,我们决定生日对新用户不是强制性的,因此架构应更改为
type User {
id: ID!
name: String!
birthday: String
}
这是一个重大改变。
如何在GraphQL中对此案例进行版本控制?
答案 0 :(得分:0)
正如these official best practices的 versioning 部分中所述,尽管这样做没有任何技术问题,也不建议在GraphQL中进行传统的API版本控制。我认为我们正在破坏我们的模型,因为它会在业务API中引入技术领域...这绝对不是理想的选择。
为帮助管理API的发展,他们引入了this link中所述的字段弃用概念。
总而言之,我想说您基本上有两种解决方案: