使用flask进行接口开发

语言:Python3

框架:flask

在进行开发前首先得安装flask,然后才能使用。安装可以直接使用pip命令进行安装:pip install flask。

使用flask进行接口的流程:

1、定义一个服务server:

server = flask.Flask(__name__)          #创建一个服务,把当前的python文件当做一个服务启动,__name__代表当前的python文件。

2、定义接口函数:

接口函数的定义需要在定义函数上面加上flask提供的装饰器 “@server.route()”,将普通函数转换为服务登录接口。

@server.route('/regist',methods=['get','post'])       #第一个参数表示请求接口路径,第二个参数表示接口请求方式,如果不填的话默认get方式。

3、运行服务server:

server.run(port=8000,debug=True,host='127.0.0.1')    # port不能与本地服务端口冲突,host为要访问的IP地址,debug=True,表示当前为调试状态运行,修改完代码程序会自动运行,不需要手动重新运行。

按照以上步骤完成一个小接口:

示例一:

import flask,json

server = flask.Flask(__name__)               #创建一个服务,把当前的python文件当做一个服务启动,__name__代表当前的python文件。

@server.route('/regist',methods=['post'])       #第一个参数表示请求接口路径,第二个参数表示接口请求方式,如果不填的话默认get方式。
def index():
res = {'msg':'这是我开发的第一个接口','msg_code':''}
return json.dumps(res,ensure_ascii=False)  #二进制转化为utf-8 server.run(port=8000,debug=True,host='127.0.0.1')  #port不能与本地服务端口冲突,host为要访问的IP地址,debug=True,表示当前为调试状态运行,修改完代码程序会自动运行,不需要手动重新运行。

使用postman请求后结果如下:

示例二:

接口实现接收请求数据,并对接收数据按照一定方式进行验证签名,签名通过后,获取接口请求过来的用户信息,查找数据库中是否存在该条记录,无记录进行注册步骤。

import flask,json

server = flask.Flask(__name__)          #__name__代表当前的python文件。把当前的python文件当做一个服务启动

@server.route('/regist',methods=['post'])       #接口请求地址及接口请求方式
def regist():
jsondata = flask.request.get_json() #获取到的值为请求的json串
username = jsondata['username'] if ('username' in jsondata) else ''
password = jsondata['password'] if ('password' in jsondata) else ''
signjudge = signMD5.signjudge()
if signjudge.jsonsignjudge(jsondata) != jsondata['sign']:
########## 签名校验失败 ##########
return json.dumps({'msg': '签名校验失败', 'msg_code': '3001'}, ensure_ascii=False)
else:
pass
if username == '' or password == '':
########## 缺少必填信息 ##########
return json.dumps({'msg': '缺少必填信息', 'msg_code': '1001'}, ensure_ascii=False)
else:
pass
interfacejudge = interfcaejudge.interfacejudge()
if interfacejudge.judgefielduser(username) != None:
return json.dumps({'msg': '用户已存在', 'msg_code': '2001'}, ensure_ascii=False)
else:
interfacejudge.insertsuerinfo(username,password)
return json.dumps({'msg': '注册成功', 'msg_code': ''}, ensure_ascii=False) server.run(port=8000,debug=True,host='127.0.0.1')
 

pyhton【flask接口开发】的更多相关文章

  1. python学习之flask接口开发,环境变量扩展,网络编程requests

    python基础 flask之mock接口 所谓mock接口,其实就是我们在正式接口还没联调或者是测试接口没有正式使用时,自己创建一个模拟接口,来供项目暂时打通功能或者测试流程梳理的桥梁,而我们这儿使 ...

  2. Python flask模块接口开发学习总结

    引言 Flask 是一个简单且十分强大的Python web 框架.它被称为微框架,“微”并不是意味着把整个Web应用放入到一个Python文件,微框架中的“微”是指Flask旨在保持代码简洁且易于扩 ...

  3. 实战接口开发:python + flask + mysql + redis(根据反馈,持续细化更新。。。)

    前言 自动化已经成为测试的必备技能之一了,所以,很多想跳槽的测试朋友都在自学,特别是最实用的接口自动化, 但是很多人因为没有可以练手的项目而苦恼,最终导致缺乏实战经验,其实,完全可以自己开发个简单项目 ...

  4. python——flask常见接口开发(简单案例)

    python——flask常见接口开发(简单案例)原创 大蛇王 发布于2019-01-24 11:34:06 阅读数 5208 收藏展开 版本:python3.5+ 模块:flask 目标:开发一个只 ...

  5. python学习笔记:接口开发——PythonWEB框架之Flask

    Flask是一个使用 Python 编写的轻量级 Web 应用框架,安装命令如下 pip install flask 一.服务端接口是怎么开发的? 1.启动一个服务 2.接收到客户端传过来的数据3.登 ...

  6. mock接口开发——flask模块

    1.mock接口开发: #1.模拟没有开发好的接口,你可以模拟它,,,,,,,需要调用其他系统的接口 #2.给别人提供数据 2.步骤:1.安装pip install flask 2.导入模块--起服务 ...

  7. 基于Python的Flask的开发实战(第二节程序的基本结构)

    1.初始化 所有的flask程序都必须创建一个程序实例 web服务器使用wsgi接口协议,把接收客户端的请求都转发给这个程序实例来进行处理.这个程序实例就是flask对象 from flask imp ...

  8. python之接口开发基础知识

    一.开发接口的作用 1.mock 服务:在别的接口没有开发完成的时候可以模拟一些接口以便测试已经开发完成的接口,例如假的支付接口,模拟支付成功.支付失败. 2.了解接口是如何实现的:数据交互.数据返回 ...

  9. Python基础-修改excel、redis、接口开发、组织代码

    pymysql模块补充内容 1. 游标.description():显示表的字段属性 (什么是游标:游标用于交互式应用,就好比word里的光标一样,要修改某个地方,要先把光标移动到这里) 用好这个方法 ...

随机推荐

  1. 【分享】nginx负载均衡全套视频教程

    1.课件 百度网盘链接:https://pan.baidu.com/s/1On2oONVZmPwI9yIDekgRiA        提取码:c4fw 2.教程列表 3.教程下载 3.1.直接在线学习 ...

  2. zip 命令使用记录

    常常会用到 zip 命令,但是时间一长,就忘记了具体参数,下面简要记录,进行备忘: 常用命令: zip -q -r nvprof_test_out.zip nvprof_test_out/ # 压缩 ...

  3. Codeforces Round #606 (Div. 2)

    传送门 A. Happy Birthday, Polycarp! 签到. Code /* * Author: heyuhhh * Created Time: 2019/12/14 19:07:57 * ...

  4. luoguP1020 导弹拦截

    题意 题目描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度.某天,雷达捕捉到敌国 ...

  5. 201871010133-赵永军《面向对象程序设计(java)》第一周学习总结

    <面向对象程序设计(java)>第一周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 ...

  6. 图片base64编码解码

    1.图片base64编码 https://c.runoob.com/front-end/59 2.图片base64解码 https://www.it399.com/image/base64 https ...

  7. 一天两道PAT(2)1005,1006

    今天的pat1006没什么好说的.就记录一下1005的状况.先上题目. 卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重 ...

  8. cartographer 3D scan matching 理解

    cartographer 3D scan matching没有论文和其它资料,因此尝试通过源码理解其处理方法,理解不当之处还请指正. 目录: 0.2D 匹配方法简介 1.real time corre ...

  9. CSP 2019 游记

    Day -32 开坑. 没什么好说的,等个 5 天等初赛(应该叫第一轮认证)挂掉之后就能弃坑了. 今天开始停课,虽然每天只停半天,但是感觉还是特别的舒服~ 然而得等初赛过了才能全天停课-- 没关系,熬 ...

  10. pandas.read_sql_query()读取数据库数据用chunksize的坑

    最近一项工作需要读取数据库中1500万条数据,考虑到数据量太大,不方便直接一次性读取,不然会内存爆炸.想到用pandas.read_sql_query()里有一个chunksize可以分批返回chun ...