Python-接口开发入门解析


Posted in Python onAugust 01, 2019

一、开发接口的作用

1、mock接口:模拟一些接口。有一些有关联的接口,在别的接口没有开发好的时候,需要用这个接口,就可以写一个假接口,返回想要的结果来模拟这个接口。

2、知道服务端的开发逻辑,有助于测试;

3、比如不想让其他人看很多数据库中的数据,可以通过接口只返回一部分数据。

二、开发一个接口

1、flask是一个轻量级的开发框架

__name__:代表当前这个python文件

server = flask.Flask(__name__) :把当前这个python文件,当做一个服务

Python-接口开发入门解析

2、一个无需传参数的get接口

其中,‘index'是接口的路径。

method如果不写,默认为get。如果需要支持多种,可以写成['get','post']

port是端口号,默认为5000。debug=True,这样改了代码之后,不需要重启服务,会自动重启。

Python-接口开发入门解析

先运行,然后用postman调用该接口,如下

Python-接口开发入门解析

可以看到,中文的编码之后的,想显示中文,按照下图方法即可

Python-接口开发入门解析

3、一个post接口

开发一个注册接口,请求参数为:username和passwd。如果数据库中有该用户,就返回用户已存在。如果该用户不存在,就在数据库插入一条数据,返回注册成功。

下面的代码需要连接数据库,连接数据库部分省略了。

Python-接口开发入门解析

为了让其他人也可以访问这个接口,可以用如下方法:

Python-接口开发入门解析

host=0.0.0.0表示只要在同一个局域网,别人访问的时候,用你的ip就可以访问了。ip指的是电脑的ip。

假如电脑的ip是10.2.88.122,那么别人电脑访问10.2.88.122:8999/reg即可。

三、开发接口目录

目录结构如下

Python-接口开发入门解析

主目录命名为了my_api,可以根据实际情况命名

bin:可执行文件,即启动程序

config:配置文件

data:放置一些数据,如sql、入参等

lib:主逻辑

logs:log

readme:一些说明

我们把上面的代码分到各个目录里面

1、配置文件config-setting.py

存放一些常量,如数据库的信息,redis的信息,端口号等

Python-接口开发入门解析

2、lib目录下tools.py

tools文件里写了怎么操作sql和redis

倒入setting里的信息,需要把my_api加到环境变量里。

在my_api文件夹上右击,选择mark directory as ->Source Root

导入setting

如果常量太多,则可以直接from config import setting

使用时,setting.MYSQL_INFO。用setting加点的方法。

Python-接口开发入门解析

3、lib目录下interface.py

这里写接口的主逻辑

Python-接口开发入门解析

4、bin目录下start.py

先从interface中导入server,从setting中导入端口号。

启动程序时,只需运行start.py即可

Python-接口开发入门解析

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现比较两个列表(list)范围
Jun 12 Python
磁盘垃圾文件清理器python代码实现
Aug 24 Python
windows7 32、64位下python爬虫框架scrapy环境的搭建方法
Nov 29 Python
详解Python3 对象组合zip()和回退方式*zip
May 15 Python
程序员的七夕用30行代码让Python化身表白神器
Aug 07 Python
Python实现变声器功能(萝莉音御姐音)
Dec 05 Python
pytorch 彩色图像转灰度图像实例
Jan 13 Python
Python Tornado之跨域请求与Options请求方式
Mar 28 Python
Python实现Wordcloud生成词云图的示例
Mar 30 Python
python开根号实例讲解
Aug 30 Python
Pycharm自动添加文件头注释和函数注释参数的方法
Oct 23 Python
Python docx库删除复制paragraph及行高设置图片插入示例
Jul 23 Python
Python列表(list)所有元素的同一操作解析
Aug 01 #Python
详解numpy.meshgrid()方法使用
Aug 01 #Python
解决安装python3.7.4报错Can''t connect to HTTPS URL because the SSL module is not available
Jul 31 #Python
numpy中的meshgrid函数的使用
Jul 31 #Python
pandas的排序和排名的具体使用
Jul 31 #Python
pandas如何处理缺失值
Jul 31 #Python
详细介绍pandas的DataFrame的append方法使用
Jul 31 #Python
You might like
让这部DC动画新作刷新你的认知
2020/03/03 欧美动漫
PHP中unset,array_splice删除数组中元素的区别
2014/07/28 PHP
php使用Jpgraph绘制复杂X-Y坐标图的方法
2015/06/10 PHP
php5.4传引用时报错问题分析
2016/01/22 PHP
PHP添加PNG图片背景透明水印操作类定义与用法示例
2019/03/12 PHP
javascript 的Document属性和方法集合
2010/01/25 Javascript
setTimeout的延时为0时多个浏览器的区别
2012/05/23 Javascript
浅析js设置控件的readonly与enabled属性问题
2013/12/25 Javascript
php is_numberic函数造成的SQL注入漏洞
2014/03/10 Javascript
jquery插件bxslider用法实例分析
2015/04/16 Javascript
JS中使用apply方法通过不同数量的参数调用函数的方法
2016/05/31 Javascript
jQuery EasyUI Tab 选项卡问题小结
2016/08/16 Javascript
分享JavaScript监听全部Ajax请求事件的方法
2016/08/28 Javascript
Bootstrap.css与layDate日期选择样式起冲突的解决办法
2017/04/07 Javascript
javascript 正则表达式分组、断言详解
2017/04/20 Javascript
如何换个角度使用VUE过滤器详解
2019/09/11 Javascript
解决LayUI数据表格复选框不居中显示的问题
2019/09/25 Javascript
vue 使用鼠标滚动加载数据的例子
2019/10/31 Javascript
JavaScript中clientWidth,offsetWidth,scrollWidth的区别
2021/01/25 Javascript
python实现k均值算法示例(k均值聚类算法)
2014/03/16 Python
python中利用await关键字如何等待Future对象完成详解
2017/09/07 Python
Django中login_required装饰器的深入介绍
2017/11/24 Python
python 寻找list中最大元素对应的索引方法
2018/06/28 Python
Python使用循环神经网络解决文本分类问题的方法详解
2020/01/16 Python
HTML5 Canvas中绘制矩形实例
2015/01/01 HTML / CSS
解决canvas转base64/jpeg时透明区域变成黑色背景的方法
2016/10/23 HTML / CSS
canvas实现圆形进度条动画的示例代码
2017/12/26 HTML / CSS
Links of London官方网站:英国标志性的珠宝品牌
2017/04/09 全球购物
李维斯法国官网:Levi’s法国
2019/07/13 全球购物
德国专业木制品经销商:Holz-Direkt24
2019/12/26 全球购物
Linux内核的同步机制是什么?主要有哪几种内核锁
2016/07/11 面试题
医院护理人员的自我评价分享
2013/10/04 职场文书
大学军训感言300字
2014/03/09 职场文书
机关会计岗位职责
2014/04/08 职场文书
为什么MySQL选择Repeatable Read作为默认隔离级别
2021/07/26 MySQL
python画条形图的具体代码
2022/04/20 Python