在URI路径中放置句点是不好的做法吗?

时间:2010-04-20 21:22:24

标签: rest uri

我正在为Web应用程序设计REST API。我想清楚地对API进行版本化,以便将来可以更改界面而不会破坏现有服务。因此,在我的v1.0 API中,我希望将其清楚地标识为v1.0 API,让我可以自由地发布未来的v1.1版本并进行重大更改。

我的问题是,URI的路径组件中的句点是不好的做法?

例如。有没有什么理由不使用http://example.com/myapi/v1.0/services作为我的服务的URI?

5 个答案:

答案 0 :(得分:10)

在URI中添加句点非常好。在URI中放置版本号绝对不是最佳做法。

Here是我的理由,here是一篇关于这个主题的好文章,是一个比我聪明的人。

答案 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)

我认为这是一个好主意。我见过几个这样做的休息服务。