我喜欢 REST HATEOAS 的概念,即通过超链接让您的 API 可被发现。人们喜欢使用 ATOM 格式的 XML 链接,您甚至可能不需要对 API 进行版本控制。但是,我只在做 JSON,我想对我的 API 进行版本控制并且仍然做 HATEOAS。
似乎最好的做法是使用供应商媒体类型,application/vnd.me.v1+json
但所有这些都在讨论 JSON 中的超链接没有格式,以及 HAL、JSON+Colleton 和 Siren 等具有自己的媒体类型的东西。
所以,这是我的困惑。首先,为什么要通过媒体类型指定格式?为什么在 JSON 中包含链接不能只是客户遵循的约定?hm-json 浏览器不就是这样发现链接的吗?
而且,如果必须将其定义为媒体类型,那么这样的事情是否有效?
application/vnd.me.v1.hal+json
任何人?