在 spring boot 应用程序中提供多个模型版本 - 最佳方法
serving multiple model version in springboot app - best approach
我的应用程序基于一些 api,它有多个版本。例如
- v1:用户(姓名:字符串,姓氏:字符串)
- v2:用户(姓名:字符串,姓氏:字符串,中间名:字符串)
有没有比为每个版本创建另一个 POJO class 并创建另一组控制器、服务等更好的解决方案
谁能告诉我应该寻找什么?
在我看来,最好的方法是拥有版本化的上下文路径。类似于以下端点:
- 你的域/v1/...
- 你的域/v2/...
这意味着您将至少有 2 个不同的控制器(每个版本一个)和 2 个不同的模型。在未来的某个时候,如果您想坚持使用其中一个并且您的消费者已经迁移到另一个,您可以简单地放弃其中一个。
如果模型 v1 和 v2 之间的差异很大,则为真。如果它们不是那么多或者不是那么复杂,您可能想看看 JSON Views.
我的应用程序基于一些 api,它有多个版本。例如
- v1:用户(姓名:字符串,姓氏:字符串)
- v2:用户(姓名:字符串,姓氏:字符串,中间名:字符串) 有没有比为每个版本创建另一个 POJO class 并创建另一组控制器、服务等更好的解决方案
谁能告诉我应该寻找什么?
在我看来,最好的方法是拥有版本化的上下文路径。类似于以下端点:
- 你的域/v1/...
- 你的域/v2/...
这意味着您将至少有 2 个不同的控制器(每个版本一个)和 2 个不同的模型。在未来的某个时候,如果您想坚持使用其中一个并且您的消费者已经迁移到另一个,您可以简单地放弃其中一个。
如果模型 v1 和 v2 之间的差异很大,则为真。如果它们不是那么多或者不是那么复杂,您可能想看看 JSON Views.