Web应用模式
1.前后端不分离
客户端看到的内容和所有页面效果都是有一个服务器提供的。后端代码和前端代码都是一起返回的
前后端分离
把前端页面效果前端的代码单独分离到一个服务器或目录下面[html css js] 后端只需要返回数据即可,前端是一个独立的网站或地址,后端也是一个独立的网站。
优点:后端只需要一份代码可以对接多种web ios 安卓等前端应用
api接口/规范
应用程序编程接口,应用程序对外提供了一个操作数据的入口,这个入口可以是一个函数或类方法,也可以是一个url地址或网络地址,当客户端调用这个入口,应用程序则会执行对应的代码给客户端完成对应的功能。
api接口也是工作中常见的开发内容,我们也会调用别人编写好的api接口,我们也会编写api接口给别人调用操作。由于是api接口共多人使用,所以需要有一个明确的编写规范
api接口规范目前流行的有2种:restful,RPC
RPC:远程过程调用,访问远程服务端提供的api接口,这种接口一般以服务或过程式代码提供
服务端提供一个唯一的访问入口地址:
eg:http://api.xxxx.com 或 http://www.xxx.com/api
一般以这两种地址为开头
然后通过post请求来把客户端的动作提交到服务端处理
通过请求体携带的字符串参数表达动作的具体意义
-https://api.map.baidu.com/place/v2/search?ak=6E823f587c95f0148c19993539b99295®ion=上海&query=肯德基&output=json
例如:
url地址:https://api.map.baidu.com/
请求方式:get/post/delete/put等
请求动作:place/v2/search
# 后端通过动作确定要调用的接口名称
请求参数:region=上海 query=肯德基
# 给对应要执行的接口传递参数
响应结果:output=json
# 返回一个json格式的结果
优点:因为单一入口,所以更容易实现一些垂直业务 类似完成权限,限流等 rpc直接通过请求体或查询参数表达对服务端的操作,相对比较直观 一目了然
缺点:当rpc接口多了,客户端请求服务端api接口时会比较难找,可能会导致接口重复 接口调用混乱
restful:资源状态转换(表征性状态转移)
把服务器提供的所有数据/文件都看成资源,api接口请求数据的操作,本质上就是对资源的操作
客户端无非就是对服务端的资源去做操作,例如 添加/删除/修改 其实都是对资源状态的转换
restful要求:
1.把url地址中写上资源的名称 eg:http:api.xxx.com/students/
/students/这就是资源名称 例如数据库表明 文件名等
这个api就是对students这个资源去做操作的
2.在url地址中声明要操作的资源是什么后,在声明http请求的方法,来表示要对该资源做哪种操作,通过请求方法来判断做什么操作
post:http:api.xxx.com/students/
# POST:对资源进行添加
GET:http:api.xxx.com/students/
# GET:对资源进行获取
DELETE:http:api.xxx.com/students/<pk>
# 对某个资源进行删除 通过pk id来判断需要操作的资源
PUT:http:api.xxx.com/students/
# 对资源进行修改
PATCH:http:api.xxx.com/students/
# 对一部分资源进行修改
restful是多入口,以资源为主的api接口规范,restful接口名上体现的资源名以名词表达
通过不同请求来判断动作
eg:http:api.xxx.com/students/
rpc是单入口,以动作为主的api接口规范,在url上体现的是动作名,
rpc的接口名称名一般是有有动作名和附带操作数据的参数
eg:http:api.xxx.com/?action=create_student/&sex=1&age=22
postman接口测试工具
写好接口后都需要自己通过测试后再给别人使用
postman基本使用说明
标签:http,students,xxx,接口,api,com,DRF From: https://www.cnblogs.com/moongodnnn/p/17077200.html