一文搞懂什么是接口

本文介绍了接口的基本概念,强调其在软件开发中的规范性和扩展性,并详细讲解了HTTP请求中的GET、POST、PUT、DELETE方法及其应用场景。

简介:

        小白经常听人说接口,接口测试,接口自动化,那么什么是接口,接口测试的方法是什么,接口自动化怎么做呢?在搞清楚这个问题之前,需要先来看看接口的定义。

        某度某科中,对接口的定义:接口(软件类接口)是指对协定进行定义的引用类型。其他类型实现接口,以保证它们支持某些操作。接口指定必须由类提供的成员或实现它的其他接口。与类相似,接口可以包含方法、属性、索引器和事件作为成员。

        看完这段定义,我相信绝大多数的小白,还是不明白接口是干什么的,其实通俗点讲,接口泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被内部修改而不影响外界其他实体与其交互的方式。在计算机中,接口是计算机系统中两个独立的部件进行信息交换的共享边界。

接口的优势:

 一、规范性

        接口就是规范,在整个系统设计中,涉及到很多层,为了使各个层之间调用透明化,你只需要知道接口,按照这个接口做你具体做的事情,就可以融合到整个系统中了。

        生活中的例子很多,例如:插头、插座,有标准的规范告诉你插头应该是几个脚,插座是几个孔等等,做插头、插座的公司就是根据这个规范来做插头、插座。

二、扩展性

        在项目开发过程中,由于客户的需求经常变化,如果不采用接口,那么我们必须不停改写现有的业务代码。改写代码可能产生新的BUG,而且改写代码还会影响到调用该业务的类,可能全都需要修改,影响系统本身的稳定性。到最后,可能会出现代码凌乱,不易读懂。后接手的人无法读懂代码,系统的维护工作越来越重,最终可能导致项目失败。

三、接口在项目中就是一个业务逻辑

        面向接口编程就是先把客户的业务提取出来,作为接口。业务具体实现通过该接口的实现类来完成。当客户需求变化时,只需编写该业务逻辑的新的实现类,不需要改写现有代码,减少对系统的影响。从而让项目具有更大的扩展性。

常见的接口类型:

        接口是指外部系统与系统之间以及内部各子系统之间的交互点。包括外部接口、内部接口,内部接口又包括:上层服务与下层服务接口、同级接口。

        常见web接口:一类是http协议的接口,另一类是web service接口(如soup、rmi、rpc协议)。

        本文主要介绍http请求接口,常见的http请求方式包括:get(查)、post(增)、put(改)、delete(删)等。

        GET:可以说是最常见的了,它本质就是发送一个请求来取得服务器上的某一资源。资源通过一组HTTP头和呈现数据(如HTML文本,或者图片或者视频等)返回给客户端。GET请求中,永远不会包含呈现数据。

        POST:向服务器提交数据。这个方法用途广泛,几乎目前所有的提交操作都是靠这个完成。它用来向指定资源提交数据进行处理请求(例如:提交表单和上传文件),数据包被包含在请求体中,post请求可能导致新的资源的建立或者已有的资源的修改。

        PUT:这个方法比较少见。HTML表单也不支持这个。本质上来讲, PUT和POST极为相似,都是向服务器发送数据,但它们之间有一个重要区别,PUT通常指定了资源的存放位置,而POST则没有,POST的数据存放位置由服务器自己决定。客户端向服务器传送的数据取代指定文档的内容。---------  举个例子:如一个用于提交博文的URL,/addBlog。如果用PUT,则提交的URL会是像这样的”/addBlog/abc123”,其中abc123就是这个博文的地址。而如果用POST,则这个地址会在提交后由服务器告知客户端。目前大部分博客都是这样的。显然,PUT和POST用途是不一样的。具体用哪个还取决于当前的业务场景。

        DELETE:删除某一个资源。请求服务器删除请求里url所标识的资源。

补充:get和post的区别

这个问题,面试中经常被提到。其实从本质上,只是接口使用的规范的区别。简单来说,可以从三个方面去回到这个区别:方式、大小、安全

1)方式

方式指的是参数的传入方式,GET方法一般是指获取服务器上的数据,参数直接跟着URL后边,直接可以放到浏览器地址栏里,例如登录就是采用GET方法。而POST方法是指客户端给服务器上提交表单数据,所以POST是通过表单提交的,例如你网页上的新用户的注册、调查问卷和答题就是采用POST方法。

2)大小

上面已经知道GET是直接在浏览器地址栏输入,由于浏览器有限制,一般整个URL的长度可以很长,但是不能超过2049KB的大小限制,而这个POST就没有大小限制。

3)安全性

由于GET的参数是在浏览器地址栏直接拼接,暴露在互联网中,肯定不安全。POST是通过表单数据提交,相对比GET方法更安全。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值