我正在为Web应用程序设计REST API。我想清楚地对API进行版本化,以便将来可以更改界面而不会破坏现有服务。因此,在我的v1.0 API中,我希望将其清楚地标识为v1.0 API,让我可以自由地发布未来的v1.1版本并进行重大更改。
我的问题是,URI的路径组件中的句点是不好的做法?
例如。有没有什么理由不使用http://example.com/myapi/v1.0/services作为我的服务的URI?
答案 0 :(得分:10)
答案 1 :(得分:4)
它是一个完全有效的路径字符,请参阅规范http://www.ietf.org/rfc/rfc2396.txt
的第27页没有理由不使用它
答案 2 :(得分:3)
在URI路径中使用句点是完全可以接受的。根据{{3}},它也有效。
答案 3 :(得分:1)
我认为不同于其他人......我不认为在网址上使用它是一种好习惯。
恕我直言,如果您在内容类型标题上进行版本更好。
例如,如果您使用的是application / xml:
Content-Type:application / v1.0 + xml。
使用Content-Type,它还表示资源本身已经过版本化。如果你在网址上使用它,似乎你正在对服务进行版本控制(似乎不是这样),如果你要更改服务本身,你可能会更改网址,所以你不需要版本号。
编辑:你也应该在Accept Header上使用它,而不仅仅是在Content Type上。
答案 4 :(得分:-2)
我认为这是一个好主意。我见过几个这样做的休息服务。