一.API 简介

1.API 的概念

API(Application Programming Interface应用程序编程接口)是一些预定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码或理解内部工作机制的细节

2.API 的特点

  • API 是一个明确定义的接口,可以为其他软件提供特定服务
  • API可以小道只包含一个单独的函数,亦可以达到包含数以百计的类,方法,全局函数,数据类型,枚举类型和常量
  • API的实现可以是私有的,亦可以是开源的

3.API 的分类

  • 面向对象语言的 API
  • 库与框架的 API
  • API 与协议
  • API 与设备接口
  • Web API

4.使用 api 的原因

  • 快速扩展功能
  • 避免"造轮子",提高开发效率
  • 降低模块之间的耦合度

二.api 的请求与认证

1.web api 协议及 http 请求

1.1 web api 一般采用 http 作为底层协议,http 请求机制如下:

客户端向服务器发送一个请求,服务器给客户端一个响应,告诉客户端是否可以完成它的请求的工作

1.2 http 请求包含的内容

  • 客户端:url(api 请求地址),请求方式,headers(请求头),body(请求体)
  • headers请求头:提供请求的元信息,是一个简短的项目列表,其中有客户端发送请求的时间和请求主体的大小,身份认证等信息
  • body 请求体:包含客户端发送给服务器的数据

2.api 请求方式

  • get:请求服务器获取一个资源
  • post:请求服务器创建一个资源
  • put:请求服务器更新或者编辑一个资源
  • delete:请求服务器删除一个资源

3.状态返回码

处理成功返回2xx

  • 200 ok-get:服务器成功返回用户请求的数据
  • 201 created-post/put/patch:用户创建或修改数据成功
  • 202 accepted-* 表示一个请求已经进入后台排队(异步任务)
  • 204 no content-delete 用户删除数据成功

服务端错误码5xx

  • 500 internal Error :api 网关内部错误,建议重试
  • 500 Failed to invoke backend Service:api底层服务错误
  • 503 service unavaliable:服务不可用
  • 504 async service:后端服务超时

业务报错4xx:一般为参数错误,签名错误,请求方式错误或者流控限制

4.api 数据格式

  • json 格式
  • 对象-键值对,数组-[]

5.api 身份认证及签名认证

5.1简单身份认证:appcode

使用方法:请求 headers 中添加 Authorization 字段,格式 Authorization:APPCODE+半角空格+appcode 值

5.2签名认证:appkey&appsecret

三.api 调试及调用

1.api 调试

阿里云 api 市场提供在线调试功能

2.api 调用步骤

获取 api 文档--创建应用--获取授权--调用 api

3.调用 api

调用 api 三个基础条件:

  • api
  • 应用 app
  • api 和 app 的权限关系

4.api 调用注意事项

  • 每个账号下 APP 的个数上限为10个,app 名称应用为账号下唯一
  • 调用 api 的流控限制为,单个 ip,qps 不超过100
  • 你有权操作购买的 api 与 app 的授权和解除授权.由服务提供方授权给你的 app 的api,你无权操作解除授权
  • 你的请求需要包含签名信息

成果展示

Apsara Clouder专项技能认证:实现调用API接口的更多相关文章

  1. Apsara Clouder专项技能认证:实现调用API接口 (笔记)

  2. Apsara Clouder基础技能认证:阿里巴巴编码规范 考试备考题库

    考试网址: https://edu.aliyun.com/clouder/exam/intro/33 共50道题 限时90分钟 阿里云大学Apsara Clouder基础技能认证——阿里巴巴编码规范认 ...

  3. Apsara Clouder云计算技能认证:云数据库管理与数据迁移

    一.课程介绍 二.云数据库的简介及使用场景 1.云数据库简介 1.1特点: 用户按存储容量和带宽的需求付费 可移植性 按需扩展 高可用性(HA) 1.2阿里云云数据库 RDS 稳定可靠,可弹性伸缩的在 ...

  4. C#使用windows服务定时调用api接口

    使用VS创建windows服务项目: 创建好项目  会出现一个设计界面 右键弹出对话框 选择添加安装程序 名字什么的自己可以改: 项目目录: 打开项目中的ProjectInstaller.Design ...

  5. Python调用API接口的几种方式 数据库 脚本

    Python调用API接口的几种方式 2018-01-08 gaoeb97nd... 转自 one_day_day... 修改 微信分享: 相信做过自动化运维的同学都用过API接口来完成某些动作.AP ...

  6. Python调用API接口的几种方式

    Python调用API接口的几种方式 相信做过自动化运维的同学都用过API接口来完成某些动作.API是一套成熟系统所必需的接口,可以被其他系统或脚本来调用,这也是自动化运维的必修课. 本文主要介绍py ...

  7. 调用API接口,查询手机号码归属地(3)

    从mysql数据库获取电话号码,查询归属地并插入到数据库 #!/usr/bin/python # -*- coding: utf-8 -*- import json, urllib, sys, pym ...

  8. 调用API接口,查询手机号码归属地(2)

    使用pymysql pip install pymysql 创建mysql测试表 CREATE TABLE `userinfo` ( `id` int(20) NOT NULL AUTO_INCREM ...

  9. 调用API接口,查询手机号码归属地(1)

    使用https://www.juhe.cn/提供的接口,查询归属地 在官网注册key即可使用. 代码如下 #!/usr/bin/python # -*- coding: utf-8 -*- impor ...

随机推荐

  1. k8s 使用新增user配置kubectl在各个节点都可运行

    k8s增加普通用户User 普通用户并不是通过k8s来创建和维护,是通过创建证书和切换上下文环境的方式来创建和切换用户.其实创建用户的步骤,就是手动部署k8s集群里的一个步骤.创建过程见下: 1.创建 ...

  2. JavaScript 之 异步请求

    一. 1.异步(async) 异步,它的孪生兄弟--同步(Synchronous),"同步模式"就是上一段的模式,后一个任务等待前一个任务结束,然后再执行,程序的执行顺序与任务的排 ...

  3. Java模板引擎之Freemarker 学习笔记 一

    什么是Freemarker Freemarker是模板引擎,不是Web框架,只是视图层的组件,官网是 https://freemarker.apache.org/ Freemarker原理 数据模型+ ...

  4. 第32&35章 数据库的安装&存储实力的管理

    第32章 数据库的安装IO取决于磁盘的个数和接口带宽 版本安装顺序是从低到高存储架构师 第35章 存储实例的管理ASM配置说白了就是ORACLE自己的,不通过操作系统对磁盘进行管理.fdisk -l查 ...

  5. 图数据库ubentu环境neo4j安装

    1.下载进入官网下载https://neo4j.com/download-center/#releases 2.设置依赖仓库 wget -O - https://debian.neo4j.org/ne ...

  6. E - Tokitsukaze and Duel CodeForces - 1190C (博弈 + 窗体移动)

    "Duel!" Betting on the lovely princess Claris, the duel between Tokitsukaze and Quailty ha ...

  7. python刷LeetCode:5. 最长回文子串

    难度等级:中等 题目描述: 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 1: 输入: "babad"输出: "bab& ...

  8. docker_jenkins

    docker search jenkins docker pull jenkins 启动脚本 #!/bin/bash docker run -d --name myjenkins \ -u root ...

  9. Mybatis实现联合查询(六)

    1. 疑问 在之前的章节中我们阐述了如何用Mybatis实现检查的查询,而我们实际的需求中,绝大部分查询都不只是针对单张数据表的简单查询,所以我们接下来要看一下Mybatis如何实现联合查询. 2. ...

  10. JDK的安装与环境变量配置

    1.下载JDK后安装,此处安装的是JDK8 2.安装后的路径如下图所示,JDK与JRE在同一个文件夹中 3.安装完JDK后配置环境变量  计算机→属性→高级系统设置→高级→环境变量 4.系统变量→新建 ...