我正在使用Spring创建RESTful服务,我对媒体类型的语法感到好奇。
根据我的理解,HAL + JSON的一般媒体类型是application/hal+json
。此外,根据我的理解,支持HAL + JSON的特定于供应商的自定义媒体类型将类似于application/vnd.api.entity.hal+json
。但是,我也见过application/vnd.api.entity+hal+json
。哪一个是正确的?
另外,对于HAL + JSON,正确的通配符类型是什么?会是application/*.hal+json
还是application/*+hal+json
。任何相关RFC的链接将不胜感激。谢谢!
答案 0 :(得分:6)
application/vnd.api.entity+json
application/vnd.api.entity.hal+json
只有在您不提供HAL
支持的情况下计划提供数据时才有意义。无论如何,客户必须知道内容的结构,HAL
是其中的一部分。
application/vnd.api.entity+hal+json
是错的。 standard表示只应使用已注册的后缀。它还将它们称为"结构化语法后缀"。因此很清楚它是关于如何读取数据而不是它的含义。只允许使用一个后缀,而且更有意义。
将其视为application/semantic+syntax
或application/what's in it + how to read it
。