目录

  • 接口
  • Web API接口
  • 接口的编写
  • RESTful接口规范
  • 如何设计url
  • 请求方式以及操作方式
  • 响应状态码
  • 响应结果

接口

Web API接口

首先,我们要知道接口是什么,因为作为一个后端工程师来说,写接口应该是接触最多,也是最熟悉的东西,所以在向别人描述的时候,如果我们只是把自己的工作描述为,我是一个写接口的,未免有些太过简单,所以,我们还是要大概了解一下其具体概念.

Web API接口,是通过网络规定前后台信息交互规则的url链接,也就是前后台信息交互的媒介.当然,其与一般的url还是有些区别,具体如下:

  1. 请求方式
    常见的请求方式有五种:get,post,put,patch,delete,当然在这五种里面我们用的最多的还是get和post
  2. 请求地址
    API接口的请求地址通常会在域名或者后缀里有些标识性的东西,比如:
https://www.baidu.com/api
https://api.baidu.com/

上面的url还是跟普通的url有些区别,比如api的标识

  1. 请求参数
    API接口所携带的请求参数应该是key-value的数据,格式通常为json或者xml,比如
ak:''		# ak是应用唯一性的标识,要申请
output:json|xml
  1. 响应结果
    响应结果的格式根据前端发送数据的不同而不同,大致就是xml和json两类,下面是json数据的返回格式
{
    "status":0,
    "message":"ok",
    "result":[
        {
            
        },
        "detail":1,
        "uid":""
    ]
}

接口的编写

这里我们推荐YApi来进行接口的编写,当然我们也可以在公司内部服务器上搭建一个简单的YApi来进行接口的管理.

下面是YApi的官方网站,我们去上面做测试和学习.

http://yapi.demo.qunar.com/

这里我们介绍YApi的一些用法:

登录进官网之后,我们申请一个账号,然后按照下列步骤

  1. 右上角,添加项目->输入路径和描述之后,选择私有或者公开,然后点击创建项目
  2. 选中我们创建的项目,右上角有添加接口,点击之后输入接口名称和接口路径,以及接入方式,一般都是get
  3. 编写接口的编辑里面,可以重新设置接口路径
  4. 请求参数的设置,可以添加参数,设定必须还是非必须,请求的格式和备注等
  5. 返回数据设置,可以设定json或者xml,下面可以添加各种返回数据的格式

RESTful接口规范

API的设计一定要有一定的规范,而RESTful就是目前为止最流行的API设计规范.

REST全称为Representational StateTransfer 是在2000年Roy Fielding博士在其博士论文里提出来的,延续至今,依然是最适用的规范.

RESTfule接口规范大致包括以下四大类

如何设计url

  • 从安全方面考虑,要采用https协议进行传输,比http更加安全
  • 接口的特征性,即关键字类似api,在域名或者后缀里面加入
  • 版本号,如果url有多版本,需要在url链接里面标识api数据的版本
  • 接口通常都是完成数据前后台交互的,交互的数据统称为资源,常用复数来表示,比如
https://api.baidu.com/books

请求方式以及操作方式

对资源的操作应该是由请求方式来决定的,而不是后端擅自决定的,比如

get,post,put,patch,delete

各种请求,调用的url返回的数据应该是不同的,这些是在后端写的

响应状态码

RESTful接口规范里的响应状态码其实就是http协议里面的状态码

  • 响应状态码2XX
  • 200 : 常规请求
  • 201 : 创建成功
  • 响应状态码3XX
  • 301 : 永久重定向
  • 302 : 暂时重定向
  • 响应状态码4XX
  • 403 : 请求无权限
  • 404 : 请求路径不存在
  • 405 : 请求方法不存在
  • 响应状态码5XX
  • 500 : 服务器异常

响应结果

响应结果分为xml和json,下面是json的响应结果的数据格式,通常要有状态码,状态信息以及数据本身

{
    "status":0,
    "msg":"ok",
    "result":[
        {
            "address":"",
    		"detail":1,
    		"uid":"",
        }
    ]
}

大佬们看看就好,有见解麻烦请留下您的评论~