怎样理解接口及其“实现原理”
一. 什么是接口
接口是一种用来定义程序的协议,它描述可属于任何类或结构的一组相关行为。
接口是一组规则的集合,它规定了实现本接口的类或接口必须拥有的一组规则。体现了自然界“如果你是……则必须能……”的理念。
接口是在一定粒度视图上同类事物的抽象表示。因为“同类事物”这个概念是相对的,它因为粒度视图不同而不同。
二. 为什么要使用接口?而不是直接实现呢?
接口的使用并非总是从设计的角度来考虑。接口和python其他语法现象一样,共同构成了python整个语言体系。
接口的意义在于 抽象、不拘细节,从而使同类事物在同一高度具有通用及可替代性。
在系统分析和架构中,分清层次和依赖关系,每个层次不是直接向其上层提供服务(即不是直接实例化在上层中),而是通过定义一组接口,仅向上层暴露其接口功能,上层对于下层仅仅是接口依赖,而不依赖具体类。
那么具体什么时候用,什么时候不用呢?在常见的三层架构中,有以下几个层次,分别进行说明:
三.接口请求的类型
http1.0定义了三种请求方法:get,post,head
http1.1新增了五种请求方法:options,put,delete,trace,connect
Get:请求指定的页面信息,并返回实体。Get可以说是最常见的,它本质就是发送一个请求来获取服务器上的某一资源,资源通过一组http头和呈现数据返回给客户。
Head:类似于get请求,只不过返回的响应中没有指定的内容,用于获取报头。
Post:向服务器提交数据。这个方法用途广泛,几乎所有的提交操作都是靠这个完成。
Put:从客户端向服务器传送的数据取代指定的文档的内容。Put与post都是向服务器发送数据,他们之间有一个重要的区别,put通常指定了资源的存放位置,而post没有,post的数据存放位置由服务器自己决定。
Delete:请求服务器删除指定的页面。删除某一个资源
Connect:http1.1协议中预留给能够将链接改为管道方式的代理服务器。
Options:允许客户端查看服务器的性能。返回服务器针对特定资源所支持的http请求方法。
Trace:回显服务器收到的请求,主要用于测试或者诊断。
四.接口规范和接口文档
接口规范的重要性
无规矩不成方圆,为了web/app开发人员与后台接口开发人员更好的配合,所以我们需要制定接口规范。接口,是Web/APP端与服务器端交互密不可分的环节,接口的规范性会直接影响双方对接过程中的效率和质量。本着快速高效开发的目的性,避免对接过程中的错误率,接口应当有规范的约束。
接口文档
后台接口人员和移动端开发人员之间的配合肯定少不了接口文档这种利器!像中大型项目可能一个接口包含的字段就有上百个,如果没有接口文档,仅仅靠两个人口头交流,那估计一天就能搞定几个接口配合。
接口文档有哪几种形式哪?
1 Excel,Word等文档形式。
2 接口管理开源网站
接口文档和接口测试工具--apipost
它既可以测试接口也可根据测试的接口生成文档,有在线文档,离线文档如:html\markdown和word格式文档,直接生成不用自己手写.
ApiPost - 可直接生成文档的API调试、管理工具