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(1)
Sep 14 Python
简述:我为什么选择Python而不是Matlab和R语言
Nov 14 Python
python 计算数组中每个数字出现多少次--“Bucket”桶的思想
Dec 19 Python
浅谈Django自定义模板标签template_tags的用处
Dec 20 Python
python 实现在txt指定行追加文本的方法
Apr 29 Python
Python实现获取本地及远程图片大小的方法示例
Jul 21 Python
python PyQt5/Pyside2 按钮右击菜单实例代码
Aug 17 Python
PyQt+socket实现远程操作服务器的方法示例
Aug 22 Python
使用Python实现正态分布、正态分布采样
Nov 20 Python
python数据爬下来保存的位置
Feb 17 Python
新版Pycharm中Matplotlib不会弹出独立的显示窗口的问题
Jun 02 Python
Python批量删除mysql中千万级大量数据的脚本分享
Dec 03 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
基于mysql的论坛(7)
2006/10/09 PHP
php将字符串转换成16进制的方法
2015/03/17 PHP
php通过function_exists检测函数是否存在的方法
2015/03/18 PHP
php版微信自动登录并获取昵称的方法
2016/09/23 PHP
php中输出json对象的值(实现方法)
2018/03/07 PHP
PHP网页缓存技术优点及代码实例
2020/07/29 PHP
JS判断是否为数字,是否为整数,是否为浮点数的代码
2010/04/24 Javascript
Dreamweaver jQuery智能提示插件,支持版本提示,支持1.6api
2011/07/31 Javascript
JavaScript 操作table,可以新增行和列并且隔一行换背景色代码分享
2013/07/05 Javascript
Javascript浅谈之this
2013/12/17 Javascript
JavaScript学习小结之被嫌弃的eval函数和with语句实例详解
2016/08/01 Javascript
js+html5实现复制文字按钮
2017/07/15 Javascript
使用travis-ci如何持续部署node.js应用详解
2017/07/30 Javascript
vue填坑之webpack run build 静态资源找不到的解决方法
2018/09/03 Javascript
详解Vue源码之数据的代理访问
2018/12/11 Javascript
原生js实现贪食蛇小游戏的思路详解
2019/11/26 Javascript
在Vue中使用HOC模式的实现
2020/08/23 Javascript
关于JavaScript数组去重的一些理解汇总
2020/09/10 Javascript
Python中运算符"=="和"is"的详解
2016/10/08 Python
python爬虫框架talonspider简单介绍
2017/06/09 Python
Python实现解析Bit Torrent种子文件内容的方法
2017/08/29 Python
python Flask实现restful api service
2017/12/04 Python
Sanic框架异常处理与中间件操作实例分析
2018/07/16 Python
Python多线程编程之多线程加锁操作示例
2018/09/06 Python
Python编程图形库之Pillow使用方法讲解
2018/12/28 Python
详解pandas.DataFrame中删除包涵特定字符串所在的行
2019/04/04 Python
pandas DataFrame 交集并集补集的实现
2019/06/24 Python
HTML5 Canvas API中drawImage()方法的使用实例
2016/03/25 HTML / CSS
laravel使用redis队列实例讲解
2021/03/23 PHP
大学毕业生个人自荐书
2014/07/02 职场文书
群众路线剖析材料怎么写
2014/10/09 职场文书
晚会开场白和结束语
2015/05/29 职场文书
Javascript中的解构赋值语法详解
2021/04/02 Javascript
浅谈@Value和@Bean的执行顺序问题
2021/06/16 Java/Android
Java elasticsearch安装以及部署教程
2021/06/28 Java/Android
Java 数组的使用
2022/05/11 Java/Android