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

Rest 在URI路径中放置句点是一种不好的做法吗?,rest,uri,Rest,Uri,我正在为web应用程序设计RESTAPI。我想清楚地对API进行版本设置,以便将来可以在不破坏现有服务的情况下更改接口。因此,在我的v1.0API中,我想清楚地将其标识为v1.0API,这样我就可以自由地发布未来的v1.1版本,并进行突破性的更改 我的问题是,URI的路径组件中的句点是否是不好的做法 有什么好的理由不作为我的服务的URI使用吗?我认为这是个好主意。我见过几个rest服务可以做到这一点。在URI路径中使用句点是完全可以接受的。它也是有效的。这是一个完全有效的路径字符,请参见规范第2

我正在为web应用程序设计RESTAPI。我想清楚地对API进行版本设置,以便将来可以在不破坏现有服务的情况下更改接口。因此,在我的v1.0API中,我想清楚地将其标识为v1.0API,这样我就可以自由地发布未来的v1.1版本,并进行突破性的更改

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


有什么好的理由不作为我的服务的URI使用吗?

我认为这是个好主意。我见过几个rest服务可以做到这一点。

在URI路径中使用句点是完全可以接受的。它也是有效的。

这是一个完全有效的路径字符,请参见规范第27页


没有理由不使用它

在URI中添加句点是完全正确的。在URI中添加版本号绝对不是最佳做法


是我的理由,也是比我聪明得多的人写的一篇关于这个主题的好文章。

我对其他人的看法不同。。。我认为在url上使用它不是一个好的做法

依我看,如果您在内容类型标题上添加版本,效果会更好

例如,如果您使用的是application/xml:

内容类型:application/v1.0+xml

使用内容类型,它还指示资源本身已进行版本控制。如果您在url上使用它,则似乎您正在对服务进行版本控制(事实并非如此),如果您正在更改服务本身,则可能会更改url,因此您不需要版本号


编辑:您还应该在接受标题上使用它,而不仅仅是在内容类型上。

再次感谢Darren。通过你的链接,Shonzilla对这个问题的回答:让我相信版本控制可能是个坏主意。我担心的一个问题是,如果我使用这种方法来处理破坏性的更改,非浏览器客户端(例如使用我的服务的PHP网站)是否会处理http重定向?请更仔细地查看问题和答案。大多数答案都是指在Url中使用句点,与版本控制无关。我提出了这个问题,但这不是最初的问题。