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

Dan*_*iel 10 rest custom-type mime-types

我开发一个API尽可能宁静(虽然HATEOAS限制不符合因此它不是一个REST API 本身)

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

据我所知,有使用Accept头,因为看到有两种方法来版API 在这里,这里这里:

application/vnd.company.myapp-v1+json
Run Code Online (Sandbox Code Playgroud)

或使用限定符

application/vnd.company.myapp+json;v=1
Run Code Online (Sandbox Code Playgroud)

虽然这很清楚,但我知道所有x-自定义内容类型都已弃用,vnd.内容类型必须在IANA注册.

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

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

由于我需要一个纯粹用于版本化目的的内容协商的自定义内容类型,我可以使用限定符,如application/json;v=2

Alb*_*Bos 5

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

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

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

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

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