python——flask常见接口开发(简单案例)
原创 大蛇王 发布于2019-01-24 11:34:06 阅读数 5208 收藏
展开

版本:python3.5+

模块:flask

目标:开发一个只接受get方法的接口,接受参数为name和age,并返回相应内容。

from flask import Flask,request
    import json
     
    app=Flask(__name__)
     
    # 只接受get方法访问
    @app.route("/test_1.0",methods=["GET"])
    def check():
        # 默认返回内容
        return_dict= {'return_code': '200', 'return_info': '处理成功', 'result': False}
        # 判断入参是否为空
        if request.args is None:
            return_dict['return_code'] = '5004'
            return_dict['return_info'] = '请求参数为空'
            return json.dumps(return_dict, ensure_ascii=False)
        # 获取传入的params参数
        get_data=request.args.to_dict()
        name=get_data.get('name')
        age=get_data.get('age')
        # 对参数进行操作
        return_dict['result']=tt(name,age)
     
        return json.dumps(return_dict, ensure_ascii=False)
     
    # 功能函数
    def tt(name,age):
        result_str="%s今年%s岁" %(name,age)
        return result_str
     
    if __name__ == "__main__":
        app.run(debug=True)

本机pycharm运行后如下:

使用postman工具发送请求到接口地址 127.0.0.1:5000/test_1.0

结果如下:

2.如果接口改成只支持post方法访问,代码如下:

from flask import Flask,request
    import json
     
    app=Flask(__name__)
     
    # 只接受POST方法访问
    @app.route("/test_1.0",methods=["POST"])
    def check():
        # 默认返回内容
        return_dict= {'return_code': '200', 'return_info': '处理成功', 'result': False}
        # 判断传入的json数据是否为空
        if request.get_data() is None:
            return_dict['return_code'] = '5004'
            return_dict['return_info'] = '请求参数为空'
            return json.dumps(return_dict, ensure_ascii=False)
        # 获取传入的参数
        get_Data=request.get_data()
        # 传入的参数为bytes类型,需要转化成json
        get_Data=json.loads(get_Data)
        name=get_Data.get('name')
        age=get_Data.get('age')
        # 对参数进行操作
        return_dict['result']=tt(name,age)
     
        return json.dumps(return_dict, ensure_ascii=False)
     
    # 功能函数
    def tt(name,age):
        result_str="%s今年%s岁" %(name,age)
        return result_str
     
    if __name__ == "__main__":
        app.run(debug=True)

使用postman测试接口:

简单的接口开发大致就是这样了。
————————————————
版权声明:本文为CSDN博主「大蛇王」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/t8116189520/article/details/86623320

python——flask常见接口开发(简单案例)的更多相关文章

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

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

  2. 基于Python的WEB接口开发与自动化测试 pdf(内含书签)

    基于Python的WEB接口开发与自动化测试 目录 目 录O V目 录章 Python 学习必知 ................................................... ...

  3. Python学习之==>接口开发

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

  4. 在线支付接口之PHP支付宝接口开发简单介绍

    php100:92:在线支付接口之PHP支付宝接口开发 支付接口一般是第三方提供的代收款.付款的平台,可以通过支付接口帮助企业或个人利用一切可以使用的支付方式.常见支付平台:支付宝.快钱.云网支付.财 ...

  5. [ Python ] Flask 基于 Web开发 大型程序的结构实例解析

    作为一个编程入门新手,Flask是我接触到的第一个Web框架.想要深入学习,就从<FlaskWeb开发:基于Python的Web应用开发实战>这本书入手,本书由于是翻译过来的中文版,理解起 ...

  6. python使用WSGI接口实现简单网页

    Python Web 介绍 Python的Web服务器分为服务器程序和应用程序.服务器程序负责接收客户端的请求发送给应用程序,应用程序负责处理请求返回给服务器程序.为了方便应用程序的开发,我们把常用的 ...

  7. app接口的简单案例 和一些总结

    例一: 通过接口获取一篇文章.接口需要传入文章的id,通过sql语句向数据库查询文章的内容,然后以json的格式echo出即可,即:安卓或IOS工程师获取通过接口获取到了json格式的数据,在做进一步 ...

  8. Flask入门之开发简单登陆界面

    涉及知识点: render_template() redirect():注意def的函数不要使用这个Python关键字 url_for():可以传参数给动态路由 动态路由 # Sample.py fr ...

  9. 学习python-20191230(1)-Python Flask高级编程开发鱼书_第04章_应用、蓝图与视图函数

    视频06: 1.自动导包快捷键——默认为alt + enter 键组合          选中的字符由小写变为大写——Ctrl + Shift + U键组合 2.DataRequired()——防止用 ...

随机推荐

  1. 顺序表的基本操作【c语言】【创建、插入、删除、输出】

    作为数据结构初学者,上课时对一些知识点掌握得不是很透彻,所以利用课余时间通过微博平台总结所学知识,加深对知识的见解,记录学习历程便于后需要时参考. #include<stdio.h> #i ...

  2. css常见双栏和三栏布局

    左侧固定右侧自适应 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  3. eXosip的register注册

    转载于:http://blog.sina.com.cn/s/blog_4868f98601018ioh.html 这个测试程序是从eXosip原有的测试程序改造的.原程序是tools 目录下的 sip ...

  4. spring websocket 使用@SendToUser

    spring websocket 使用@SendToUser 原文链接:https://blog.csdn.net/yingxiake/article/details/51224569 之前我们利用@ ...

  5. TCP连接可能出现的异常总结

    1.java.net.BindException:Address already in use:bind 服务端出错,两次对同一个端口进行启动(会在服务端发生报错,抛出异常,不考虑) 2.java.n ...

  6. COGS 2633. [HZOI 2016] 数列操作e

    [题目描述] 一个长度为n的序列,一开始序列数的权值都是0,有m次操作 支持两种操作, 1 L R x,给区间[L,R]内,第一个数加x,第二个数加2^2⋅x,第三个数加3^2⋅x...第R-L+1个 ...

  7. 3037 插板法+lucas

    先说下lucas定理 1)Lucas定理:p为素数,则有: (2)证明: n=(ak...a2,a1,a0)p = (ak...a2,a1)p*p + a0 =  [n/p]*p+a0 (注意 这里( ...

  8. HTML Ueditor加载空白问题

    问题描述 Ueditor打开时加载不出内容 原因分析 Ueditor重复加载时,会存在缓存问题 Ueditor采用异步加载方式,所以数据获取和赋值要写在Ueditor异步回调里 解决方案 UE.del ...

  9. vue中使用svg字体图标

    1.在src/ 下面新建目录icons,里面新建文件夹svg,和文件index.js .svg用于存放从iconfont下载下来的svg格式的图标,index.js用于引入使用到svg文件和对应的组件 ...

  10. 微信小程序转发事件

    和生命周期是同级,在.js文件里面设置 // 分享按钮 onShareAppMessage: function () { return { title: '前端伪大叔', path: "/p ...