接口相关

接口

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的标识

  3. 请求参数

    API接口所携带的请求参数应该是key-value的数据,格式通常为json或者xml,比如

    ak:''		# ak是应用唯一性的标识,要申请
    output:json|xml
    
  4. 响应结果

    响应结果的格式根据前端发送数据的不同而不同,大致就是xml和json两类,下面是json数据的返回格式

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

接口的编写

这里我们推荐YApi来进行接口的编写,当然我们也可以在公司内部服务器上搭建一个简单的YApi来进行接口的管理.如果需要自己搭建,推荐以下博客:

https://blog.csdn.net/qq_28190039/article/details/90170675

下面是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接口规范大致包括以下四大类

  1. 如何设计url

    • 从安全方面考虑,要采用https协议进行传输,比http更加安全

    • 接口的特征性,即关键字类似api,在域名或者后缀里面加入

    • 版本号,如果url有多版本,需要在url链接里面标识api数据的版本

    • 接口通常都是完成数据前后台交互的,交互的数据统称为资源,常用复数来表示,比如

      https://api.baidu.com/books
      
  2. 请求方式以及操作方式

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

    get,post,put,patch,delete

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

  3. 响应状态码

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

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

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

    {
        "status":0,
        "msg":"ok",
        "result":[
            {
                "address":"",
        		"detail":1,
        		"uid":"",
            }
        ]
    }
    
原文地址:https://www.cnblogs.com/Xu-PR/p/11884829.html