API的使用

web的应用模式

什么是web应用?

web应用程序就是一种可以通过web访问的应用程序,特点就是用户很容易访问,只需要有浏览器即可,不需要安装其他的软件。

在开发web应用中,有两种模式:

1.前后端分离
后端人员不需要写前端的代码,只需要写接口即可
全栈开发:web后端,前端框架(Vue,react)

技术图片

在前后端分离的应用模式中,后端仅负责返回前端所需的数据,不在渲染HTML页面,不在控制前端页面的效果,至于后端用户看到的是什么效果,从后端请求的数据如何加载到前端,都由前端自己决定,网页有网页自己的处理方式,APP有自己的处理方式,无论是哪种前端,所需要的数据基本是相同的,后端只需要开发一套逻辑对外提供数据即可。

在在这中模式下,前端与后端的耦合度相对较低,前后端分离的应用模式中,我们通常将后端的开发的每一个视图都称为一个接口。或者API。前端通过访问接口来对数据进行增删改查。

2.前后端混合使用
后端人员需要编写后端的逻辑代码,也要编写【模板语法】
	xx.html的python代码
全栈开发:前后端混合时代使用的比较多

image

在前后端不分离的应用模式中,前端页面看到的效果是由后端来控制的,后端渲染页面或重定向,也就是后端需要控制前端的展示,前端和后端的耦合度较高。

这种应用模式比较适合纯网页应用,但是当后端对接APP时。app可能不需要后端返回一个HTML页面,而仅仅是数据的本身,所以当后端原本返回得网页接口不在适应于前端app应用,为了对接APP后端还需要再开发一套接口。

技术图片

API接口

什么是API的接口?

API其实就是应用程序接口的简称。API是一些功能,定义挥着协议的集合(就是前后端交互的媒介),目的就是提供应用程序或者程序开发人员基于软件访问一组列程的能力(就是在开发的有团队中形成共识,减少混乱的接口规范),对外封装完善,调用时无需学习API内部源码(减少了双方的合作成本【前后端】),依据API文档功能说明书使用即可

举个例子: 我们到银行取钱,只需要将卡给柜台的工作人员(相当于接口),工作人员会让我们执行一些操作(API文档说明书),具体钱是怎么取出来的,就不是我们需要关心的问题了。

API接口的数据格式有哪些?
目前API接口支持的数据格式有JSON,XML,XLSX,CSV,RDF等数据格式,其中json还和xml是主流的数据格式,几乎所有的API都支持这两种数据格式。

JSON :是一种轻量级的数据交换格式,具有良好的可读和便于编写的的特性,可在不同的平台之间进行数据交换。

XML:是扩展标记语言,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据,定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。

JSON的特点

  • JSON与XML相比是一种更加轻量级的数据格式,而且便于解析,支持多语言,这使得JSON在大数据的时代备受欢迎,而且随着应用程序与平台的不断发展,应用程序的功能变得越来越复杂,但是为了保证用户体验的优化,需要通过重构代码,将复杂的逻辑代码封装到内部,保持其对外提供的API仍然简洁。JSON也正因简洁这一优势超越了XML,称为应用间首选的数据交换格式。
url地址:
	https://api.map.baidu.com/place/v2/search
请求的方式:get,post,delete,ptu...
请求参数: json格式 k:v类型的数据
	  xml格式-->ajax:异步JavaScript和xml
API接口的安全问题

现如今的API接口的运用已经十分的广泛,如果API接口没有经过安全处理,就很容易出现三类问题:信息拦截,篡改与泄露。 Twitter API秘钥泄露时间就是如此。

面对API接口的安全问题,我们可以采取以下的安全措施:
非对称加密
  • 非对称加密是加密算法中的一种,和加密算法只有一个秘钥文件不同的是,非对称加密加密有连个秘钥文件,也就是公钥和私钥。顾名思义,公钥就是对外公开的状态,而私钥就是属于保密状态,如果黑客只有公钥没有私钥,就算截取到数据(报文)也没有任何影响。
  • 开放API 平台在应用非对称加密后,公钥公开给那些需要对接 API 的人,这些对接 API 的人然后通过公钥将用户的相关数据进行加密和传输。

img

二、信息摘要算法5(MD5)
  • 信息摘要算法5也叫MD5全称为Message-Digest Algorithm 5。最大的特点就是其算法不可逆,主要方法是对任意一段字符串生成摘要。所以,信息摘要算法5大多时候是被用来存储用户的登录密码,并且还能够用来比对信息是否一致
三、令牌鉴权
  • 公网暴露API接口,就像是自己的房子没有门一样,任何人都能够自由的出入,这也使得房子里面的财产不安全,所以我门就找安保人员查看进出的人员查看是否有通行证,令牌便可以理解为该通行证,只有有了通行证的人才能进出,而没有令牌的就拒之门外。
  • 令牌鉴权机制其实就是放API接口服务器会在用户登录之后生成一串不重复的字符,从而形成登录人的令牌,令牌也会作为KET在Redis缓存放置在服务器。而value则存放登录用户的基本信息,同时对token失效时间进行设置。
  • 令牌鉴权校验则是更快速有效,在调用开放API时需要携带令牌,而服务器来对令牌进行校验,包括是否存在,过期。如果令牌不存在或过期,则直接返回异常信息,强制用户重新登录获取新的令牌。

例子:

-https://api.map.baidu.com/place/v2/search?ak=6E823f587c95f0148c19993539b99295&region=上海&query=肯德基&output=xml
    
-https://api.map.baidu.com/place/v2/search?ak=6E823f587c95f0148c19993539b99295&region=上海&query=肯德基&output=json

接口测试工具postman

作为一个后端,写好了接口,我们自己要先测试通过,在给别人使用,而写好的接口,我们可以使用专门的测试工具:
	postman,postwoman
  在浏览器中默认发送的get请求,不能自动发送post,put,delete 请求
postman,postwoman的一些区别:
1. postman 有些功能是收费的,当然,免费的功能已经足够平时的使用了。
postwoman 是开源免费的,所有功能都可以免费使用。

2. postman 已经很成熟了,经过了很多开发者的检验。postwoman 还不成熟,肯定
还有一些功能不完善,还有待检验。比如说 postwoman 网页主界面上的有些按钮,现
在还仅仅是一个前端按钮,点击没有任何反应,后端还没有实现。


虽然 postwoman 还不够成熟,功能也只是替代 postman ,但是,新软件还是应该支
持的,以便自己以后可以有更多的选择。
ps:我们只需要明白一点,工具只是用来发送http请求的

postman官网:

https://learning.postman.com/docs/getting-started/introduction/

postman简单操作(双击即可):
image

image

image

posted @ 2023-01-30 16:52  亓官扶苏  阅读(276)  评论(0)    收藏  举报