博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python3封装Api接口
阅读量:7236 次
发布时间:2019-06-29

本文共 3042 字,大约阅读时间需要 10 分钟。

注:本篇的代码和语法基于Python3.5环境,下面将用到Python 的Flask框架

封装接口主要讲静态接口(无参数传入)、动态接口(有参数传入,不同参数返回的信息不同)。针对动态接口有三种传参方式:key_value、json串和拼接方式入参

 

    • 一、封装成无参数传入的接口
      from flask import Flask,jsonify,requestdata = {'huhy':{'age':24,'sex':'女'},        'liuer':{'age':12,'sex':'男'}        }app = Flask(__name__)#创建一个服务,赋值给APP@app.route('/get_user',methods=['post'])#指定接口访问的路径,支持什么请求方式get,post#讲的是封装成一种静态的接口,无任何参数传入def get_user():#-----这里的函数名称可以任意取    return  jsonify(data)#把字典转成json串返回app.run(host='0.0.0.0',port=8802,debug=True)#这个host:windows就一个网卡,可以不写,而liux有多个网卡,写成0:0:0可以接受任意网卡信息, 通过访问127.0.0.1:8802/get_user,可返回data信息#debug:调试的时候,可以指定debug=true;如果是提供接口给他人使用的时候,debug要去掉
      接口返回的截图如下:
    • 二、有参数传入的接口
       1.通过key_value方式传参
      from flask import Flask,jsonify,requestdata = {'huhy':{'age':24,'sex':'女'},        'liuer':{'age':12,'sex':'男'}        }err = {'zz':404,       'yy':502       }app = Flask(__name__)#创建一个服务,赋值给APP@app.route('/get_user',methods=['post'])#指定接口访问的路径,支持什么请求方式get,post# key_values方式传参def get_user():    username = request.form.get('username')#获取接口请求中form-data的username参数传入的值    if username in data:#判断请求传入的参数是否在字典里        return jsonify(data[username])#如果在的话,则返回data对应key的值转成的json串信息    else:        return jsonify(err[username])#如果不在的话,返回err对应key的value转成的json串信息app.run(host='0.0.0.0',port=8802,debug=True)#这个host:windows就一个网卡,可以不写,而liux有多个网卡,写成0:0:0可以接受任意网卡信息#通过访问127.0.0.1:8802/get_user,form—data里输入username参数,则可看到返回信息
      接口返回的截图如下:
      2.通过json串方式传参
      from flask import Flask,jsonify,requestdata = {'huhy':{'age':24,'sex':'女'},        'liuer':{'age':12,'sex':'男'}        }err = {'zz':404,       'yy':502       }app = Flask(__name__)#创建一个服务,赋值给APP@app.route('/get_user',methods=['post'])#指定接口访问的路径,支持什么请求方式get,post#json方式传参def get_ss():    username = request.json.get('username1')#获取带json串请求的username参数传入的值    if username in data:  # 判断请求传入的参数是否在字典里        return jsonify(data[username])#如果在的话,则返回data对应key的值转成的json串信息    else:        return jsonify(err[username])#如果不在的话,返回err对应key的value转成的json串信息app.run(host='0.0.0.0',port=8802,debug=True)#这个host:windows就一个网卡,可以不写,而liux有多个网卡,写成0:0:0可以接受任意网卡信息#通过访问127.0.0.1:8802/get_user,form—data里输入username参数,则可看到返回信息
      接口返回的截图如下:
      3.请求链接直接拼接入参方式
      from flask import Flask,jsonify,requestdata = {'huhy':{'age':24,'sex':'女'},        'liuer':{'age':12,'sex':'男'}        }err = {'zz':404,       'yy':502       }app = Flask(__name__)#创建一个服务,赋值给APP@app.route('/get_user',methods=['post'])#指定接口访问的路径,支持什么请求方式get,post#请求后直接拼接入参方式def get_ss():    username = request.args.get('username')#使用request.args.get方式获取拼接的入参数据    if username in data:  # 判断请求传入的参数是否在字典里        return jsonify(data[username])	#如果在的话,则返回data对应key的值转成的json串信息    else:        return jsonify(err[username])	#如果不在的话,返回err对应key的value转成的json串信息app.run(host='0.0.0.0',port=8802,debug=True)#这个host:windows就一个网卡,可以不写,而liux有多个网卡,写成0:0:0可以接受任意网卡信息#通过访问127.0.0.1:8802/get_user,form—data里输入username参数,则可看到返回信息
      接口返回的截图,如下:
      4.request.values.get()获取请求参数的方法,不仅支持获取连接拼接的参数,而且还能获取body form填入的参数
    • 未完待续
posted on
2018-08-13 16:37 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/ruiy/p/9469129.html

你可能感兴趣的文章
用groovy写抓票程序
查看>>
设计资源推荐-20个漂亮的免费PSD图标格式
查看>>
学用MVC4做网站:序
查看>>
mysql kill操作
查看>>
Go Revel - i18n(国际化)
查看>>
MVC应用程序JsonResult()的练习
查看>>
VBS解析时候遇到时间
查看>>
Android应用公布的准备——渠道注冊与认证
查看>>
第四章 类加载机制
查看>>
字符和字符串
查看>>
使用Xamarin.Forms平台开发移动应用指南
查看>>
javascript中的链表结构
查看>>
微信开发-ACCESS TOKEN 过期失效解决方案
查看>>
某硕笔试题mysql数据库部分(较为全面)
查看>>
jQuery刷新包含的<jsp:include>页面
查看>>
领导者/追随者(Leader/Followers)模型和半同步/半异步(half-sync/half-async)模型都是常用的客户-服务器编程模型...
查看>>
如何选择行的第一个和最后一个值 之间间隔为5分钟
查看>>
4、QT分析之调试跟踪系统
查看>>
Vmware下Mac系统Vmware tools安装
查看>>
方法多种,选择随已定
查看>>