位置: 编程技术 - 正文

python Flask实现restful api service(python-flask)

编辑:rootadmin

推荐整理分享python Flask实现restful api service(python-flask),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python flask快速入门与进阶,flask调用python脚本,python flask快速入门与进阶,flask调用python脚本,python flask django,python-flask,python中flask干什么用,python-flask,内容如对您有帮助,希望把文章链接给更多的朋友!

一直在用node.js做后端,要逐步涉猎大数据范围,注定绕不过python,因此决定把一些成熟的东西用python来重写,一是开拓思路、通过比较来深入学习python;二是有目标,有动力,希望能持之以恒的坚持下去。

项目介绍

用python语言来写一个restful api service,数据库使用mysql。因为只做后端微服务,并且ORM的实现方式,采用自动生成SQL的方式来完成,因此选择了轻量级的flask作为web框架。如此选择,主要目的是针对中小规模的网络应用,能充分利用关系数据库的种种优势,来实现丰富的现代互联网应用。

REST的六个特性:

Client-Server:服务器端与客户端分离。 Stateless(无状态):每次客户端请求必需包含完整的信息,换句话说,每一次请求都是独立的。 Cacheable(可缓存):服务器端必需指定哪些请求是可以缓存的。 Layered System(分层结构):服务器端与客户端通讯必需标准化,服务器的变更并不会影响客户端。 Uniform Interface(统一接口):客户端与服务器端的通讯方法必需是统一的。 Code on demand(按需执行代码?):服务器端可以在上下文中执行代码或者脚本

restful api

restful api 的概念就不介绍了。这里说一下我们实现协议形式:

说明:

rs为资源标识; 第二节,user,会被解析为数据库表名; 查询时,id为空或0时,id会被忽略,即为列表查询; 新建和修改,除接收form表单外,url中的id参数也会被合并到参数集合中; 删除同查询。

让flask支持正则表达式

python Flask实现restful api service(python-flask)

flask默认路由不支持正则表达式,而我需要截取完整的URL自己来解析,经查询,按以下步骤很容易完成任务。

使用werkzeug库 :from werkzeug.routing import BaseConverter 定义转换器: 注册转换器 : app.url_map.converters['regex'] = RegexConverter 用正则来截取url : @app.route('/rs/<regex(".*"):query_url>', methods=['PUT', 'DELETE', 'POST', 'GET'])

几点疑问:

正则(.*)理论上应该是匹配任何除回车的所有字符,但不知道为什么,在这里不识别问号(?) 我用request.data来取表单数据,为何request.form取不到? '/rs/<regex("."):query_url>'后若加个反斜杠('/rs/<regex("."):query_url>/'),request.data就取不到数据,为什么?

解析json数据

解析json数据很容易,但我需要对客户端送上来的数据进行校验,下面是用异常处理又只解析一次的解决方案。

URL解析

按既定协议解析URL,提取表名,为生成sql组合参数集合。

完整代码

小结

今天利用flask完成了web基础架构,能够正确解析URL,提取客户端提交的数据,按请求的不同方式来组合我们需要的数据。希望对大家的学习有所帮助,也希望大家多多支持积木网。

关于Python数据结构中字典的心得 本篇主要介绍:常见的字典方法、如何处理查不到的键、标准库中dict类型的变种、散列表的工作原理等。一下是全部内容:泛映射类型collections.abc模块

Python数据结构之栈、队列的实现代码分享 1.栈栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈

Python实现多进程共享数据的方法分析 本文实例讲述了Python实现多进程共享数据的方法。分享给大家供大家参考,具体如下:示例一:#-*-coding:utf-8-*-frommultiprocessingimportProcess,Managerimporttimeimpor

标签: python-flask

本文链接地址:https://www.jiuchutong.com/biancheng/377046.html 转载请保留说明!

上一篇:浅谈Python中带_的变量或函数命名(python里!)

下一篇:关于Python数据结构中字典的心得(python数据结构教程)

  • 租厂房土地使用税
  • 增值税发票选择确认平台打不开怎么办?
  • 未办理税务登记的个体户怎么注销营业执照
  • 一般纳税人增值税会计账务处理
  • 财会英语汇总:税收术语?
  • 出口赠送客户怎么处理
  • 个税汇算清缴为啥要补交
  • 本月进项税大于销项税有留底,如何做会计分录
  • 新会计准则最大变化
  • 申报进项税额
  • 施工企业建账指的是什么
  • 无形资产入账价值包括注册费吗
  • 盘点固定资产
  • 预借现金和现金分期的区别
  • printnow.exe - printnow是什么进程 有什么作用
  • 新版edge浏览器如何打开ie浏览器
  • 提前预支工资怎么报税
  • Win11 Build 22449.1000 预览版发布(附更新修复已知问题汇总)
  • 变更营业执照中心怎么改
  • 另一种答案
  • 2022年增值税免税政策
  • 公司的利润交税之前不可能叫做什么
  • Glastonbury Tor, Somerset, England (© DEEPOL by plainpicture/Adam Burton)
  • 增值税专用发票怎么开
  • php如何删除数组元素
  • 在收付实现制下,预付的下季度报刊杂志订阅费
  • 什么叫自适应控制
  • yii2框架漏洞
  • 实收资本印花税税率多少
  • 演员片酬要分给经纪公司吗
  • 前端schema
  • mysql识别中文
  • 视同销售的增值税怎么申报
  • 有问题的原始凭证是什么
  • 非货币性资产交换
  • access微软
  • vuex数据持久化
  • 应交税费应交增值税的三级科目有哪些
  • 什么情况下需要满足m>>m
  • 为什么开票需要提供开户许可证
  • 发票开9个点
  • 新成立公司实收资本没到位该怎么做账
  • 本年利润期末需要结转吗
  • 企业现金流量表怎么分析
  • 物品数量怎么填写
  • 小规模纳税人未开票收入如何申报增值税
  • 冲减以前年度管理费用需要更正报表吗
  • 库存盘盈盘亏说明
  • 什么叫印花税税率
  • 增值税留抵退税的账务处理
  • 如何计提固定资产折旧费
  • 餐饮娱乐服务员
  • 有哪些发票可以报销
  • 电费发票上的数量是什么意思
  • 只有发票没有银行回单怎么做账
  • 银行贴息一般多久能到账
  • 房屋租赁费怎么记账
  • 旅行社差额征收怎么报税
  • 成本利润率多少是正常的
  • 税务稽查其他应付款
  • 员工办理健康证费用由谁支付
  • 叉车上牌流程注册登记
  • 总账会计的岗位目的
  • 自助回单打印和网银回单
  • 企业建账涉及哪些内容
  • sqli
  • window8开机
  • pe下修改windows下的盘符
  • Yosemite使用技巧 如何使用Yosemite mac信息功能共享电脑屏幕教程
  • ubuntu如何安装wps
  • 举例说明linux的主要应用领域
  • window10 wifi打不开
  • android studiojava报错
  • javascript总结笔记
  • 蓝牙模块手机程序
  • 电子办税服务厅怎么开电子发票
  • 深圳税务局工作时间表
  • 征求意见稿 讨论稿 送审稿
  • 四川税务专管员查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设