[英]Versioning resources in REST api
我创建了一个作为Web服务公开的应用程序。 我正在尝试遵循REST原则。 我正在使用Spring 4。
到目前为止我所做的是创建我自己的mime类型application/vnd.mycompany-v1+json
。 从访问Web服务的客户端,我说我想要的版本(目前只有一个版本)。
但是,这不是我需要做的全部。 我还需要保留不同版本的资源,因为我可以从一个版本添加/删除属性等到另一个版本。 解决这个问题的方法是什么? 你为每个版本创建一个包吗?
com.mycompany.web.resources.v1.Bike
, com.mycompany.web.resources.v2.Bike
等? 我想这种方法可行,但版本的数量在这个阶段是未知的,所以它可能是一个大的重复列表。 我不知道这是一个问题还是它必须是这样的?
我想我不是第一个考虑对资源进行版本控制的人,所以这是如何处理的?
您应该通过在资源URL中添加版本控制信息来保留不同的版本。 像http://yourserver/app/v1/..
您应该在api中包含版本控制的原因是某些客户端可能已经在使用您以前的版本而不想升级。 这更多是为了增加api设计的灵活性。 作为api提供者,您可以随时声明从现在开始不支持版本x。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.