阿里云-实现调用API接口
本篇博客为阿里云-实现调用API接口的学习笔记,主要介绍的API的含义与实战。(实战内容笔者并未展示)
API简介
API的概念
- Appicaiton Programming Interface(应用程序编程接口)
- 预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力(无需访问、理解源码和内部工作机制细节
API的特点
- 明确定义的接口
- 既可以只是一个单独的函数,又可以是包括常量、类等
- 可以是私有、开源
API的分类
- 面向对象语言
- 库与框架
- API与协议
- API与设备接口
- Web API(最常见)
使用API的原因
- 快速拓展功能
- 避免重复“造轮子”, 提高开发效率
- 降低模块间的耦合度
API申请与认证
Web API协议及HTTP请求
Web API一般用HTTP作为底层协议
好处:使得客户端与服务端的开发语言无关,有利于微服务、分布式的开发。
HTTP请求机制
- 客户端给服务器发送请求
- 服务端给客户端响应,对客户端说明是否开源完成请求
HTTP请求包括的内容
(客户端)
- URL(API调用地址)
请求方式
- GET:请求服务器获取资源
- POST:请求服务器创建新的资源
- PUT:请求服务器编辑或更新已存在的资源
- DELETE:请求服务器删除资源
Headers(请求头)
- 提供请求的元信息,发送请求时间、请求主体大小、身份认证等
- User-Agent
- content-type
- ...
Body(请求主体)
- 包含客户端希望发送给服务器的数据
- post表单
- 图片内容
- ...
(服务端)
状态码
成功码
- 除了返回数据之外,还会包含状态码(2xx)
- 200 OK - [GET] - 成功返回请求的数据
- 201 CREATED - [POST/PUT/PATCH] - 新建、修改成功
- 202 Accepted - [*] (异步)- 请求已加入后台排队
- 204 NO CONTENT - [DELETE] - 删除数据成功
错误码 - 服务端
- API未调用成功,大部分的解决为重试,表示服务不可用(5xx)
- 500 - Internal Error - API 网关内部错误
- 500 - Failed To Invoke Backend Service - 底层服务错误(API提供者底层服务错误)
- 503 - Service Unavailable - 服务不可用
- 504 - Async Service - 后端服务超时
错误码 - 客户端
- 一般为参数、签名、请求方式、被流控限制的错误
- 错误代码表 (aliyun.com)
- 有些API自定义了错误码,需要查看该API文档的描述‘
返回数据格式
- 最新的API大多为JSON数据格式。
- 表示对象, 键值对 key : value, ... ,
- 表示数组,[]
API简单身份认证(APPCODE方式)
使用方法
- 请求Header种添加Authorization字段;
- 配置其值为"APPCODE + 半角空格 + APPCODE值"
Authorization:APPCODE [Appcode值]
API签名认证(AppKey&AppSecret)
相当于一种账号密码系统
对不同的API的安全需求,验证方式也不同
API调试与调用
API调试
工具:在线调试功能
API调用步骤
获取API文档
- 知道是做什么的,入参是什么,返回结果、结构是什么样的
- 创建应用
- 获取授权
- 调用API
Comments | NOTHING
该文章已经关闭评论