代码之家  ›  专栏  ›  技术社区  ›  saille

将句点放在URI路径中是一种坏做法吗?

  •  9
  • saille  · 技术社区  · 14 年前

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

    我的问题是,在一个URI的路径组件中有一个句点会是坏的实践吗?

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

    5 回复  |  直到 9 年前
        1
  •  10
  •   Community Ian Goodfellow    7 年前

    在URI中放置一个句点是非常好的。在URI中输入版本号绝对不是最佳实践。

    Here 我的理由是什么和 here 是一篇比我聪明得多的人写的关于这个问题的好文章。

        2
  •  4
  •   Andrew Bullock    14 年前

    它是一个完全有效的路径字符,见规范第27页。 http://www.ietf.org/rfc/rfc2396.txt

    没有理由不使用它

        3
  •  3
  •   Daniel Vassallo    14 年前

    在URI路径中使用句点是完全可以接受的。它也适用于 RFC 3986 section 2.3 .

        4
  •  1
  •   Diego Dias    14 年前

    我和其他人的想法不同…我认为在URL上使用它不是一个好的实践。

    imho如果在Content-Type头上进行版本转换,效果会更好。

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

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

    使用内容类型,它还指示对资源本身进行了版本控制。而如果在URL上使用它,则似乎是在对服务进行版本控制(似乎不是这样),如果更改服务本身,则可能会更改URL,因此不需要版本号。

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

        5
  •  -2
  •   Byron Whitlock    14 年前

    我觉得这是个好主意。我见过几个这样的休息服务。