自定义内容类型 - 是否必须在IANA注册?

时间:2015-03-18 11:48:37

标签: rest mime-types custom-type

我正在开发一个尽可能RESTful的API(虽然不满足HATEOAS约束因此 REST API 本身

我正在对API进行版本控制,因为有几种方法可以做到这一点,我想我将使用Accept标头。我确实知道其他选择,但这个问题的目的不是找到一种合适的API版本。

据我所知,有两种使用Accept标头版API的方法,如hereherehere所示:

application/vnd.company.myapp-v1+json

或使用限定符

application/vnd.company.myapp+json;v=1

虽然这一点非常清楚,但我了解所有x-个自定义内容类型都必须deprecated,而vnd.个内容类型必须在IANA注册。

API不会也不会公开,所有使用它的客户都是在内部开发的。

正在注册自定义vnd。 IANA强制要求的内容类型?如果未注册内容类型会发生什么? 即使没有向IANA注册,我也可以简单地使用Accept标头application/vnd.company.myapp+json;v=2吗?

由于纯粹出于版本控制目的,我需要内容协商的自定义内容类型,我可以使用application/json;v=2之类的限定符吗?

1 个答案:

答案 0 :(得分:3)

从我可以从https://tools.ietf.org/html/rfc6838#section-3.2读取的内容并不是强制性的,但如果您有公开的API,则鼓励它这样做。

RFC6838是关于注册新的MIME /媒体类型,以下文字对于私有API(产品)来说似乎不是问题

  

供应商树用于与公开相关的媒体类型   可用的产品。

公共API(产品)也不需要,就像我说的那样鼓励。

  

公众曝光和审查媒体类型时要注册   使用media-types@iana.org
不需要供应商树   鼓励审查邮件列表,以提高质量   那些规格。供应商树中的注册可以是
  直接提交给IANA,他们将在那里接受专家审核   批准前[RFC5226]