标签归档:原创

一个接口文档的模板

Contents

一、标题

此文档为文档说明

API 版本

版本 内容
1.0 一个版本内容

调用说明

API 遵循 REST 标准进行设计。
我们的 API 是 可预期的 以及 面向资源 的,接受 form-encoded 或JSON请求正文,返回 JSON-encoded 响应, 使用标准的 HTTP 响应代码和参数。
所有请求和响应的编码均为 UTF-8。

基础地址:

https://localhost:8080/api/v1

请求

所有的请求方式(Method)均与动词相关:

  • GET:获取资源
  • POST:创建资源
  • PUT:更新资源
  • PATCH:更新资源的一个属性
  • DELETE:删除资源
  • OPTIONS:获取客户端能对资源做什么操作的信息

参数传入方式

如无特别说明,GET 请求参数需要放到 Url Query String 中:

GET https://localhost:8080/api/v1/pet/findByTags?tags=abc

POST/PUT/PATCH 请求参数建议使用 JSON 格式将参数放到请求体中,例如:

PUT https://localhost:8080/api/v1/pet
Content-Type: application/json
{
  "id": 1,
  "category": {
    "id": 1,
    "name": "小型犬"
  },
  "name": "博美",
  "photoUrls": "http://photocdn.sohu.com/20150811/mp26678520_1439257270139_10.jpeg",
  "tags": [
    {
      "id": 1,
      "name": "可爱"
    }  
  ],
  "status": "available"
}

但是,对于比较少的参数(少于3个),通常会使用表单形式发送,具体使用什么形式取决于API定义。

响应

成功响应中包含实体资源内容,如:

[
  {
    "a": "xxx",
    "b": "xxx"
  },
  {
    "c": "xxx",
    "d": "xxx"
   }
]

错误

API 使用标准 HTTP 响应码(Status Code)来表示 API 请求。

通常,状态码:

  • 2xx 代表成功响应
  • 4xx 代表失败响应,并给出失败原因
  • 5xx 代表服务端内部错误

状态码说明

状态码 描述
200 更新/获取资源成功
201 创建资源成功
204 删除资源成功
400 业务错误,具体参见下放业务错误代码
401 认证失败,请返回 查参数是否有误
403 无权限调用接口,如:未开通 API 功能
404 资源不存在
405 接口请求方式 Method 有误
422 请求参数校验失败
429 触达限流限制
500 服务器应用发生了错误
502 服务器无法连接
503 服务器暂不可用
504 服务器连接超时

业务错误说明

通过 JSON 形式返回的响应数据,其中包括业务错误码 code 和错误原因 message,例如:

{
  "code": -1,
  "message": "项目不存在",
  "data":{}
}

业务错误码 code 说明如下:

错误码 描述
-1 小于0的错误码均为业务错误
0 未登录
1 响应成功

二、API列表

1.测试接口

概述:xxxx

请求地址:/api/aaa
请求方式:POST application/x-www-form-urlencoded

参数 类型 是否必传 参数含义
username String 用户名
password String 密码
type Integer 类型,1为管理员2为普通会员,默认2

返回示例:

{
    "code": 1,
    "message": "创建成功",
    "data": {
        "id": 1002,
        "hdfs": {
            "filenum": 1024,
            "capaticy": 500
        }
    }
}

data内字段含义:

参数 类型
id Integer 创建好的uid
hdfs Object hdfs信息
>
filenum int 文件数目
capaticy int 容量,单位G

三、CURL使用说明

CURL是Linux下的一个命令行程序,用于发送HTTP等请求,本小节内容在于帮助文档阅读者快速测试API可用性。

1.发起GET请求

curl -X GET \
http://127.0.0.1:8080/api/v1/login?user=admin&passwd=12345678

2.发起POST请求

发送表单数据

curl -X POST \
-d "user=admin&passwd=12345678" \
http://127.0.0.1:8080/api/v1/login

发送JSON数据

curl -X POST \
  -H "X-LC-Id: {{appid}}" \
  -H "Content-Type: application/json" \
  -d '{
         "status"  : "open",
         "content" : "反馈的文字内容",
         "contact" : "联系方式、QQ 或者邮箱手机等"
       }' \
  http://127.0.0.1:8080/api/v1/feedback

如果JSON比较复杂,可以将内容保存至文本,即可发送本地的JSON

curl -X POST \
  -H "X-LC-Id: {{appid}}" \
  -H "Content-Type: application/json" \
  -d @/develop/soft/test.json \
  http://127.0.0.1:8080/api/v1/feedback

3.HTTP基本认证(HTTP Basic Authentication)

curl -i --user username:password \
http://127.0.0.1:8080/api/v1/login

四、数据字典

1.权限(POWER)

字段 注释
AAA BBB

kylin-2.1.0装配

Aapache Kylin-2.1.0 装配

系统环境


  • Apache Hive 2.1.1
  • Apache Hadoop 2.7.2
  • Apache HBase 1.2.4
  • Apache Spark 2.0.1
  • Oracle JDK 1.8.0
  • Scala 2.11.8

安装操作


  1. 下载解压 apache-kylin-2.1.0-bin-hbase1x.tar.gz
  2. 创建hadoop_conf_dir,包含文件
    • core-site.xml
    • hdfs-site.xml
    • mapred-site.xml
    • yarn-site.xml
    • hbase-site.xml
    • hive-site.xml
  3. 分发该配置目录到所有节点
  4. 按需修改配置文件
  5. 修改conf/setenv.sh
    增加 export HIVE_LIB=${HIVE_HOME}/lib
  6. 复制hive-beeline依赖到ext/目录下(可以直接复制整个${HIVE_HOME}/lib/*)

所感20170217

不得不得承认,日本动画跟中国动画有着很多本质上面的差别。

中国动画更加的认为是属于幼儿的,对于老中青三代来说,更多的是一种剧情的体验以及画面的感官。
并没有说因此而延伸开来的思想的传播,更加像一部没有特别出彩剧情的动作片,很精彩,仅此而已。

最近在看的一部番《三月的狮子》,真的很棒。
今天看的一集,足以让我记下来写自己的一些感受,因为感觉是如此的有触感。

为什么说让自己没有遗憾,大概就是自己做了让自己遗憾的事情吧。
为什么不能相信自己做的事情,大概就是自己曾经做了偷懒的事情,以至于不能相信自己吧。

致诸君
不要停下。

一次关于腾讯的思考

相信大家都知道,腾讯有个很有意思的名字,叫抄袭王。

无他,当年互联网刚刚开始进入如火如荼的时候,别人出一个游戏,他抄袭一个,别人出一个产品,他抄袭一个。

QQ飞车,QQ炫舞,CF,腾讯微博…

那么问题来了,为什么大部分抄袭的产品都活下来了,而原来的产品却衰落甚至凋亡。

值得深思。

下面为从三个方面去分析腾讯抄袭这个问题,你就会发现,腾讯真的不是为了抄袭而抄袭。

1.技术积累是计算机公司的基石

现在腾讯的计算机技术已经到达了一个国内顶尖世界前排的地位,那么到底这漫长的技术原始积累过程时怎么度过的呢?没错,就是一次又一次的抄袭。虽然说是抄袭,但是对于技术人员来说,他们并没有任何东西可以抄,客户端技术物理引擎网络技术服务器技术等等的技术,都是要技术人员逐项去攻坚,在腾讯没有找到自己开发出成功的产品的时候,那么抄袭就是最好的一条道路。

没有任何技术开发可以纯粹为了开发而开发的,因为作为计算机公司,每敲下一行不能转化成商业价值的代码,就亏损一分。

必须借着业务来持续的推进技术,才能让公司更加稳健的发展。

所以不难发现,腾讯的抄不是为了抄,而是一种保守稳健的公司发展策略。作为一家计算机公司来说,在早期技术积累的手段来说,确实是妙招。

2.用户是所有产品的核心资源

腾讯产品能发展起来的其中一个依仗就是他庞大的用户群体以及一站式的登录方案。

一个QQ号,能使用腾讯的所有产品。

这个策略贯穿了腾讯的所有产品的生命线。

那么问题来了,如果我的产品出现了空缺,此时有其他人补充上来的话,那么肯定就会有用户流失,此时如果为不做防御的话,后果可能不堪设想。

这种防御型的策略也促进了腾讯模仿其他软件商进行开发的策略,这会极大的提高其他软件商竞争的成本,间接的降低的竞争压力,从而降低用户流失率、甚至达到增长。

3.生态才是计算机公司的最终目标

不难发现,一家独大对于计算机公司来说压力实在太大,更多要做的是平台与生态,只有实现平台与生态,才能走进下一阶段的目标。

腾讯通过他先进的技术庞大的用户群,为生态中的第三方开发者提供了非常多的帮助,比如说能简单的解决你的技术难点,产品能快速的变现等等的业务目标。实现与生态共同生长与获利的业务模式。

不难发现,其实第一点和第二点都是为了第三点服务的。

当一回事后诸葛亮,腾讯这个局到底从什么时候开始布,套路到底有多深。

或许当时腾讯也并没有考虑到这一步,只是见一步走一步,但是能发展到今天这种地步,腾讯的技术发展模式也是值得我们深思与学习的