JSON API:用 JSON 构建 API 的标准指南中文版

译文地址:https://github.com/justjavac/json-api-zh_CN

如果你和你的团队曾经争论过使用什么方式构建合理 JSON 响应格式, 那么 JSON API 就是你的 anti-bikeshedding 武器。

通过遵循共同的约定,可以提高开发效率,利用更普遍的工具,可以是你更加专注于开发重点:你的程序。

基于 JSON API 的客户端还能够充分利用缓存,以提升性能,有时甚至可以完全不需要网络请求。

下面是一个使用 JSON API 发送响应(response)的示例:

{
  "links": {
    "posts.author": {
      "href": "http://example.com/people/{posts.author}",
      "type": "people"
    },
    "posts.comments": {
      "href": "http://example.com/comments/{posts.comments}",
      "type": "comments"
    }
  },
  "posts": [{
    "id": "1",
    "title": "Rails is Omakase",
    "links": {
      "author": "9",
      "comments": [ "5", "12", "17", "20" ]
    }
  }]
}

顶级的 "links" 部分是可选的。 除去 "links" 部分,此响应看起来非常接近使用已经存在的 API 构建的响应。

JSON API 不仅可以用来构建响应,还包括创建和更新资源。

现状

本文档是一个正在进展的工作,在具体实现过程中将会有所改变。详细信息请查看现状页面。

MIME 类型

JSON API 已经在 IANA 机构完成注册。 它的 MIME 类型是 application/vnd.api+json

格式

在开始使用 JSON API 前,先查看一下JSON API 格式文档

更新历史

  • 2013-05-03:最初版本的草案。
  • 2013-07-22:媒体类型在 IANA 注册完成。

你可以使用 RSS 阅读器在这里订阅本提要的变更。

时间: 2024-10-13 20:20:14

JSON API:用 JSON 构建 API 的标准指南中文版的相关文章

Diablo3英雄榜-使用Volley和Gson来处理暴雪API的Json数据

使用Volley和Gson来处理Json 暗黑3的API传递给我们的是一个Json数据.现在开始我们尝试来解析它.在百度了一下之后,我初步知道了2个工具.一个是Volley这个是用来获取Json数据.一个是Gson这个是用来解析Json数据. 本章的目标: 读取暴雪的API数据 解析该数据 使用Volley来获取Json数据 Volley支持原生字符串.图像.Json.可以让我们更专注于应用程序的逻辑.Volley通过下面的方法获取. $git clone https://android.goo

MVC web api 返回JSON的几种方式,JSON时间去T的几种方式。

MVC web api 返回JSON的几种方式 1.在WebApiConfig的Register中加入以下代码 1 config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html")); 2.在WebApiConfig的Register中加入以下代码 1 config.Formatters.Remove(config.Formatters.XmlFormatter);

.Net MVC 4 Web Api 输出Json 格式

1.Global 中增加json输出 GlobalConfiguration.Configuration.Formatters.JsonFormatter.MediaTypeMappings.Add(new QueryStringMapping("json", "true", "application/json")); protected void Application_Start() { AreaRegistration.RegisterAl

jenkins python api与json api不同

查看jenkins的python api与json api,感觉两者相差不多,但还是有所区别,所以用BeyondCompare进行对比分析. 1.jenkins base url的api对比 左侧的为:http://server:port/jenkins/api/python?pretty=true 右侧的为:http://server:port/jenkins/api/json?pretty=true 2.jenkins job的api对比 左侧的为:http://server:port/je

Spring Boot中使用Swagger2构建API文档

程序员都很希望别人能写技术文档,自己却很不愿意写文档.因为接口数量繁多,并且充满业务细节,写文档需要花大量的时间去处理格式排版,代码修改后还需要同步修改文档,经常因为项目时间紧等原因导致文档滞后于代码,接口调用方的抱怨声不绝于耳.而程序员是最擅长"偷懒"的职业了,自然会有多种多样的自动生成文档的插件.今天要介绍的就是Swagger. 接下来我们在Spring Boot中使用Swagger2构建API文档 Swagger是一个简单但功能强大的API表达工具.它具有地球上最大的API工具生

springboot利用swagger构建api文档

一.引入jar pom.xml <!-- swagger --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.7.0</version> </dependency> <dependency> <groupId>io.spr

来自HeroKu的HTTP API 设计指南(中文版)

原文转自:http://get.jobdeer.com/343.get 来自HeroKu的HTTP API 设计指南(中文版) 翻译 by @Easy 简介 本指南中文翻译者为 @Easy ,他是国内首家互联网人才拍卖网站 JobDeer.com 的创始人.转载请保留本信息. 本指南描述了一系列 HTTP+JSON API 的设计实践, 来自并展开于 Heroku Platform API 的工作.本指南指导着Heroku内部API的开发,我们希望也能对Heroku以外的API设计者有所帮助.

用laravel dingo/api创建简单的api

1,修改.env配置文件添加 API_STANDARDS_TREE=vnd API_SUBTYPE=myapp API_PREFIX=api API_DOMAIN=null API_VERSION=v1 API_NAME="My API" API_CONDITIONAL_REQUEST=false API_STRICT=false API_DEBUG=true Standards Tree 标准树 这有三个不同的树: x,prs 和 vnd.你使用的标准树需要取决于你开发的项目 未注册

分享基于.NET动态编译&amp;Newtonsoft.Json封装实现JSON转换器(JsonConverter)原理及JSON操作技巧

原文:分享基于.NET动态编译&Newtonsoft.Json封装实现JSON转换器(JsonConverter)原理及JSON操作技巧 看文章标题就知道,本文的主题就是关于JSON,JSON转换器(JsonConverter)具有将C#定义的类源代码直接转换成对应的JSON字符串,以及将JSON字符串转换成对应的C#定义的类源代码,而JSON操作技巧则说明如何通过JPath来快速的定位JSON的属性节点从而达到灵活读写JSON目的. 一.JSON转换器(JsonConverter)使用及原理介