WEB API接口

接口介绍

接口概念:前台与后台进行信息交互的媒介 - url连接

https://api.map.baidu.com/place/v2/search

接口组成:

  • url链接 - 长得像返回数据的url链接

  • 请求方式 - get(查)、post(增)、put(整体改)、patch(局部改)、delete(删)

  • 请求参数 - 拼接参数、数据包参数(urlencoded、form-data、json)

    • ak:6E823f587c95f0148c19993539b99295
    • region:上海
    • query:肯德基
    • output:json
  • 响应结果 - 响应的json数据

    • {
      "status":0,
      "message":"ok",
      "results":[
      {
      "name":"肯德基(罗餐厅)",
      "location":{
      "lat":31.415354,
      "lng":121.357339
      },
      "address":"月罗路2380号",
      "province":"上海市",
      "city":"上海市",
      "area":"宝山区",
      "street_id":"339ed41ae1d6dc320a5cb37c",
      "telephone":"(021)56761006",
      "detail":1,
      "uid":"339ed41ae1d6dc320a5cb37c"
      }
      ...
      ]
      }
 

### 开发阶段接口测试工具

Postman:用于测试接口的工具

下载地址:https://www.postman.com/downloads/

## WEB API接口

### 接口介绍

接口概念:前台与后台进行信息交互的媒介 - url连接

```http
https://api.map.baidu.com/place/v2/search

接口组成:

  • url链接 - 长得像返回数据的url链接

  • 请求方式 - get(查)、post(增)、put(整体改)、patch(局部改)、delete(删)

  • 请求参数 - 拼接参数、数据包参数(urlencoded、form-data、json)

    • ak:6E823f587c95f0148c19993539b99295
    • region:上海
    • query:肯德基
    • output:json
  • 响应结果 - 响应的json数据

    • {
      "status":0,
      "message":"ok",
      "results":[
      {
      "name":"肯德基(罗餐厅)",
      "location":{
      "lat":31.415354,
      "lng":121.357339
      },
      "address":"月罗路2380号",
      "province":"上海市",
      "city":"上海市",
      "area":"宝山区",
      "street_id":"339ed41ae1d6dc320a5cb37c",
      "telephone":"(021)56761006",
      "detail":1,
      "uid":"339ed41ae1d6dc320a5cb37c"
      }
      ...
      ]
      }
 

### 开发阶段接口测试工具

Postman:用于测试接口的工具

下载地址:https://www.postman.com/downloads/

![](https://img2018.cnblogs.com/blog/1845546/202002/1845546-20200223214459974-1391961762.png)

![](https://img2018.cnblogs.com/blog/1845546/202002/1845546-20200223214509971-1272261784.png)

## 接口文档

### 为什么要写接口文档

```html
为什么要写接口:作为后台开发者,要将后台数据通过url链接反馈给前台 为什么要写文档:作为后台开发者,一定知道该url链接应该采用什么请求方式、提交哪些数据、返回了哪些结果 就像后台要将url链接改前台一样,前台知道应该访问什么链接,所以前台也应该知道采用什么请求方式,以及提交什么数据。

换而言之,接口文档是给 后台开发者、前台开发者、测试等各个项目相关项目组同时查看的,方便团队开发(规则是后台指定的,文档后台来写)

编写文档的方式

i)采用word编写
ii)drf框架有插件,可以根据cbv的类快速生成文档
iii)采用写文档的平台
YApi是去哪网大前端技术中心的一一个开源可视化接口管理平台。
不仅可以直接使用YApi自己提供的服务:http://yapi.demo.qunar.com/
也可以自己将YApi搭建到公司内部的服务器上

书写过程

i)先安装开发需要,完成接口的开发(设置后台url链接,设置请求方式、请求数据、响应结果)
ii)选择一个接口平台,将后台url链接,设置请求方式、请求数据、响应结果信息变成成文档即可

接口的规范

1)为什么要指定接口规范

在前后台分离情况下,后台可以采用不同的后台运用,开发出类似的功能,所以前后台请求响应的规则是一致的;如果安装一套标准来编写接口,后台不管是什么语言,前台都可以采用一样的方式进行交互。反过来,后台也不需要管前台到底采用何种方式请求(页面、工具、代码)

2)通用接口规范:Restful接口规范

规定了url如何编写,请求方式的含义,响应的数据规则。

    i)url编写
https协议 - 保证数据安全性
api字眼 - 标识操作的是数据
v1、v2字眼 - 数据的不同版本共存
资源复数 - 请求的数据称之为资源
拼接条件 - 过滤群查接口数据(https://api.baidu.com/books/?limit=3&ordering=-price) ii)请求方式
/books/ - get - 群查
/books/(pk)/ - get - 单查
/books/ - post - 单增
/books/(pk)/ - put - 单整体改
/books/(pk)/ - patch - 单局部改
/books/(pk)/ - delete - 单删 iii)响应结果
网络状态码与状态信息:2xx | 3xx | 4xx | 5xx
数据状态码:前后台约定规则 - 0:成功 1:失败 2:成功无结果
数据状态信息:自定义成功失败的信息解释(英文)
数据本体:json数据
数据子资源:头像、视频等,用资源的url链接

01 web api接口的更多相关文章

  1. Http下的各种操作类.WebApi系列~通过HttpClient来调用Web Api接口

    1.WebApi系列~通过HttpClient来调用Web Api接口 http://www.cnblogs.com/lori/p/4045413.html HttpClient使用详解(java版本 ...

  2. ASP.NET Web API 接口执行时间监控

    软件产品常常会出现这样的情况:产品性能因某些无法预料的瓶颈而受到干扰,导致程序的处理效率降低,性能得不到充分的发挥.如何快速有效地找到软件产品的性能瓶颈,则是我们感兴趣的内容之一. 在本文中,我将解释 ...

  3. Web API接口之FileReader

    Web API接口之FileReader *:first-child { margin-top: 0 !important; } body>*:last-child { margin-botto ...

  4. 不使用jQuery对Web API接口POST,PUT,DELETE数据

    前些天,Insus.NET有演示Web API接口的操作: <怎样操作WebAPI接口(显示数据)>http://www.cnblogs.com/insus/p/5670401.html ...

  5. Winform混合式开发框架访问Web API接口的处理

    在我的混合式开发框架里面,集成了WebAPI的访问,这种访问方式不仅可以实现简便的数据交换,而且可以在多种平台上进行接入,如Winform程序.Web网站.移动端APP等多种接入方式,Web API的 ...

  6. WebApi系列~通过HttpClient来调用Web Api接口~续~实体参数的传递

    回到目录 上一讲中介绍了使用HttpClient如何去调用一个标准的Web Api接口,并且我们知道了Post,Put方法只能有一个FromBody参数,再有多个参数时,上讲提到,需要将它封装成一个对 ...

  7. Web API接口设计经验总结

    在Web API接口的开发过程中,我们可能会碰到各种各样的问题,我在前面两篇随笔<Web API应用架构在Winform混合框架中的应用(1)>.<Web API应用架构在Winfo ...

  8. Web API 接口

    Web API 接口 在给网站编写 JavaScript 代码时,也有很多可用的 API.您可以使用下面的接口(也称为对象的类型)列表,开发 Web 应用程序或网站. 关于包含这些接口的 API 列表 ...

  9. 如何让你的 Asp.Net Web Api 接口,拥抱支持跨域访问。

    由于 web api 项目通常是被做成了一个独立站点,来提供数据,在做web api 项目的时候,不免前端会遇到跨域访问接口的问题. 刚开始没做任何处理,用jsonp的方式调用 web api 接口, ...

随机推荐

  1. dp - 递推

    C. Multiplicity time limit per test 3 seconds memory limit per test 256 megabytes input standard inp ...

  2. Go 每日一库之 viper

    简介 上一篇文章介绍 cobra 的时候提到了 viper,今天我们就来介绍一下这个库. viper 是一个配置解决方案,拥有丰富的特性: 支持 JSON/TOML/YAML/HCL/envfile/ ...

  3. Django admin的常用方法

    一.HTTP 1.主页面 http://127.0.0.1:8000/admin/ 2.查询页面 http://127.0.0.1:8000/admin/app01/book/ 3.增加页面 http ...

  4. 2.Scanner的进阶使用

    package com.duan.scanner; import java.util.Scanner; public class Demo04 { public static void main(St ...

  5. 【Vue】强化表单的9个Vue输入库

    一个设计不当的表单可能会使用户远离你的网站.幸运的是,对Vue开发者,有大量可用的Vue输入库让你轻松整理表单. 拥有直观而且对用户友好的表单有诸多好处,比如: 更高的转化率 更好的用户体验 更专业的 ...

  6. Frameworks.Entity.Core 6 Specification

    Specification internal 1 A logic AND Specification密封类AndSpecification<T>继承 抽象类CompositeSpecifi ...

  7. 用JAVA分别实现WebSocket客户端与服务端

    最近公司在搞一个项目刚好需要用到WebSocket技术来实现实时数据的传输,因为之前也没接触过,所以捣鼓了好些天,最近恰巧有空就写写.有误的地方还请大牛们能及时指正. 项目背景:基于spring+sp ...

  8. Java基础系列1:深入理解Java数据类型

    Java基础系列1:深入理解Java数据类型 当初学习计算机的时候,教科书中对程序的定义是:程序=数据结构+算法,Java基础系列第一篇就聊聊Java中的数据类型. 本篇聊Java数据类型主要包括四个 ...

  9. 分享一下我在mysql5.6+mysql8数据库安装过程中的一些坑!

    Mysql5.6安装 下载好安装包后,在bin目录下用cmd打开,输入mysqld install [服务名]新建个服务 在windows+r输入services.msc即可查看服务 怎样使用mysq ...

  10. Nginx(一) 简介

    Nginx简介 一款基于异步框架的轻量级高性能的Web 服务器/反向代理服务器/缓存服务器/电子邮件(IMAP/POP3)代理服务器 特点 高并发量:基于 epoll/kqueue 模型开发,支持高并 ...