标头值:application / vnd.api + json

有人可以解释或给我一个链接,我可以读取之间的差异:

application/vnd.api+json 

 application/json 

媒体typesapplication/vnd.api+json引用JSON API。 你可以在这里详细阅读。

简而言之,JSON API是一种自以为然的理由:

…有关客户如何请求获取或修改资源的规范以及服务器如何响应这些请求。

第一个是API特定的媒体types。 供应商前缀( vnd. )表示该供应商是自定义的。 +json表示它可以被parsing为JSON,但是媒体types应该在JSON之上定义更多的语义。

第二个就是说内容是JSON。 这通常不是非常有用,因为它没有定义JSON值的含义。

一个很好的起点可以在维基百科上看到,但是对于更多细节,您可以随时链接到该页面上相应的RFC。

如果您不确定,请使用application/json – 这是通用的MIMEtypes,只需要您返回的数据是格式正确的JSON 。


application/vnd.api+json MIMEtypes保留用于使用(易混淆命名) “JSON API”协议的通信。

本文中的“JSON API” 并不意味着基于HTTP和JSON的任何 API。 这是一个构buildAPI的框架 ,允许客户端获取和修改相关的实体。 例如,博客应用程序可以实现符合“JSON API”规范的API,该规范允许在给定作者的最后10篇文章中,在单个HTTP请求中为每篇文章提供元数据和评论。

该规范特别定义:

  • 请求应该形成的具体方式(即什么URL参数控制sorting和分页以及输出中包含的数据);
  • 响应中的JSON文档的具体结构,例如:

    文档必须至less包含以下顶级成员之一:

    • data :文件的“主要数据”
    • errors :错误对象的数组
    • meta :包含非标准元信息的元对象。

    成员dataerrors不能共存在同一个文档中。