我正在将一些 API 端点迁移到更简洁的方式。但是我遇到了一些关于如何处理嵌套对象的问题。
例如:
我有一个对象Foo
和一个Bar
.
Foo v1.0
{
"field_one": "String",
"field_two": "String"
}
Foo v1.1
{
"field_one": "String",
"field_two": "String",
"field_three": "String"
}
Bar v1.0
{
"foo": "Foo",
"field_one": "String",
"field_two": "String"
}
获取Foo
版本的端点非常简单, isv1.0
或v1.1
,但我如何处理端点Bar
?对孩子的每一次更改都应该为父母“生成”一个新版本?如果父母有多个版本的孩子如何处理?如果Bar
有另一个孩子Baz
有两个不同的版本,版本控制Bar
会随着孩子的迭代而继续吗?
Bar v1.0 -> Foo v1.0
Bar v1.1 -> Foo v1.1
Bar v2.0 -> Foo v1.1 + Baz v1.0
如何让它直截了当,如果消费者想Foo v1.1
在他的整个应用程序上使用它,他知道他Bar
应该得到哪个版本?只是文档还是背后有一些模式?