我想知道REST API版本定义了什么 - 资源结构,URI路径或两者兼而有之?对我来说,似乎在这样的URI中指定版本可以定义:
api.foo.com/v1/path/to/resource
将版本指定为mime-type的一部分:
Content-type: application/json;application,v1
清楚地定义资源表示。
答案 0 :(得分:1)
完全取决于我们,我们希望如何表示和实现API。对我来说,似乎在URI中指定版本定义了当前API版本中存在的“版本”和“资源”。
答案 1 :(得分:1)
前段时间我已经读过,特定资源的URL不应该在版本之间发生变化。经过一番思考才有意义。 URL用于在Internet上定义唯一资源。如果您在URL中指定版本,则在上面的定义中会生成两个不同的资源。这些资源可能略有不同(例如增加了一个新领域),但它们似乎完全相同。从那时起,我只使用标题版本。