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之Python安装
Sep 12 Python
python使用calendar输出指定年份全年日历的方法
Apr 04 Python
django输出html内容的实例
May 27 Python
Python面向对象程序设计示例小结
Jan 30 Python
python频繁写入文件时提速的方法
Jun 26 Python
python里运用私有属性和方法总结
Jul 08 Python
Pandas实现DataFrame按行求百分数(比例数)
Dec 27 Python
python如何实现单链表的反转
Feb 10 Python
python 实现学生信息管理系统的示例
Nov 28 Python
python绘图pyecharts+pandas的使用详解
Dec 13 Python
完美处理python与anaconda环境变量的冲突问题
Apr 07 Python
Python可变与不可变数据和深拷贝与浅拷贝
Apr 06 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
PHP文章按日期(月日)SQL归档语句
2012/11/29 PHP
PHP常用特殊运算符号和函数总结(php新手入门必看)
2013/02/02 PHP
PHP实现QQ登录实例代码
2016/01/14 PHP
php 中奖概率算法实现代码
2017/01/25 PHP
用roll.js实现的图片自动滚动+鼠标触动的特效
2007/03/18 Javascript
JQuery 风格的HTML文本转义
2009/07/01 Javascript
JQuery this 和 $(this) 的区别
2009/08/23 Javascript
javascript hasFocus使用实例
2010/06/29 Javascript
Jquery取得iframe下内容的方法
2013/11/18 Javascript
给easyui datebox扩展一个清空的实例
2016/11/09 Javascript
Vue自定义指令介绍(2)
2016/12/08 Javascript
EasyUI学习之DataGird分页显示数据
2016/12/29 Javascript
微信小程序如何获知用户运行小程序的场景教程
2017/05/17 Javascript
Angular通过angular-cli来搭建web前端项目的方法
2017/07/27 Javascript
详解VueJS应用中管理用户权限
2018/02/02 Javascript
vue使用better-scroll实现下拉刷新、上拉加载
2018/11/23 Javascript
Vue $mount实战之实现消息弹窗组件
2019/04/22 Javascript
vue实现员工信息录入功能
2020/06/11 Javascript
浅谈JS for循环中使用break和continue的区别
2020/07/21 Javascript
vue项目查看vue版本及cli版本的实现方式
2020/10/24 Javascript
解决vue下载后台传过来的乱码流的问题
2020/12/05 Vue.js
python多线程编程方式分析示例详解
2013/12/06 Python
Python实现注册登录系统
2017/08/08 Python
python批量读取txt文件为DataFrame的方法
2018/04/03 Python
Python 判断奇数偶数的方法
2018/12/20 Python
python 处理数字,把大于上限的数字置零实现方法
2019/01/28 Python
对django中foreignkey的简单使用详解
2019/07/28 Python
Django多进程滚动日志问题解决方案
2019/12/17 Python
python下载卫星云图合成gif的方法示例
2020/02/18 Python
matplotlib更改窗口图标的方法示例
2021/02/03 Python
瑞典在互联网上最大的宠物商店:Animail
2020/10/31 全球购物
我能否用void** 指针作为参数, 使函数按引用接受一般指针
2013/02/16 面试题
火车的故事教学反思
2014/02/11 职场文书
慰问信范文
2015/02/14 职场文书
自己搭建resnet18网络并加载torchvision自带权重的操作
2021/05/13 Python
CSS3中Animation实现简单的手指点击动画的示例
2021/07/15 HTML / CSS