在大多数关于 RESTful 的教程、文档、文章等中,我遇到了一些相同的观点,但我很少看到这些“是什么让它成为 RESTful”的观点得以实现。
例如,我读过很多遍:
内容类型
使用 HTTP 标头
Accept: application/json, text/plain
URL 中的扩展名
Not RESTful, URLs are not the place for Content-Type
我从来没有遇到过我看到它实现的 API。我曾经使用过的每个 API 都要求我将 XML 或 JSON 附加到 URL 的末尾。他们做错了吗?
版本控制
版本媒体类型
应用程序/vnd.something.v1+json
自定义标题
X-API-版本:1
URL 中的版本
/v1/resouce 不是 RESTful,通过将版本放在 URL 中,您可以创建单独的资源
如果您需要引入非向后兼容的功能,肯定创建一个单独的资源是正确的做法吗?
再一次,在我使用过的所有 API 版本中,它们在 URL 中使用 v1、v2(例如 google、imgur 等)
如果不实现这些点,我的 API 会不会被视为 RESTful?
澄清这些观点将不胜感激。