REst full API
1,API application Programming Interface 预先定义的函数,软件系统的不同组成部分的衔接约定,目的是无序访问源码或者理解内部工作机制的细节也可以对一些软件的访问能力
分类1 将需要的程序打包到自己的程序中,如java jar 这种api称为SDK
分类2 你的程序需要别的程序的一部分功能,只需要你需要的那种程序提供一定的路径,你的程序按照一定的约定去访问,比如http协议请求访问。这种api称为web 应用接口
2, Restful api 接口设计
存在原因
不同的开发对api接口的设计习惯不同,会出现不同的设计结构。
为解决这个问题,比如mvc中的路径的设计
REstful风格
接口设计的时候必须要遵循的风格和规范
传统的api设计考虑的问题
1,请求路径 见名知意
2,请求方式
3,参数 需求决定
4, 响应 模板路径,异步的时候不是路径,根据需求决定
Rest api 设计考虑的问题
1,请求路径
以当前接口操作的资源决定,一般为复数形式,作为路径
一个路径对应一个资源
2,请求方式 根据接口对资源做什么操作
get 查询
post 新建一个资源
put 更新一个资源
delete 删除一个资源
head 获取资源的元数据,比如资源的hash,最后的修改日期
options 获取客户端对资源的操作,即获得该资源的api---能够对资源做什么的描述
传统的路径 = Restful路径 + 请求方式
3, 请求参数
需求决定,
4,响应 restful的要求,一般为规定格式为json
实际开发,以公司规定为主
其他相关
Accept 设定位置 head
Content-Type 设定位置 body
Restful只是一种设计风格,提供了设计原则和条件,他不是标准,具体操作结合公司要求决定。
常见的Restful框架
springmvc ,jersey,play
api测试工具
postman insomnia
接口设计
浏览器中的请求都是get模式
http methon :get post
host port http://localhost:8080
path: /employees
删除
restful 默认为一个空文档
实际
删除的状态
返回的操作一般公司需要统一格式,写一个类控制
参数路径优缺点
优点,隐藏参数
缺点,参数多,url长
现实开发,两者混用,重要的参数放到参数路径,不重要的可以参数方式穿过去
页面调用api方法
springmvc不支持put操作,需要配置过滤器