我正在使用 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 将不胜感激。谢谢!
最佳答案
application/vnd.api.entity+json
application/vnd.api.entity.hal+json
只有在您计划在不支持 HAL
的情况下提供数据时才有意义。无论如何,客户端必须知道内容的结构,HAL
是其中的一部分。
application/vnd.api.entity+hal+json
是错误的。 standard声明只应使用已注册的后缀。它还将它们称为“结构化语法后缀”。所以很明显,它是关于如何读取数据而不是数据的含义。只允许一个后缀,再多就没有意义了。
将其视为应用程序/语义+语法
,或应用程序/其中的内容+如何阅读
。
关于java - HAL+JSON 的正确媒体类型是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26892480/