微信小程序开发实践点滴——Bmob基本REST API的python封装
来源:互联网 发布:mac设置用户名 编辑:程序博客网 时间:2024/06/01 08:29
Refer:Bmob后端云REST API接口文档:http://docs.bmob.cn/data/Restful/a_faststart/doc/index.html
本文使用python对Bmob REST API的基本增删改查接口进行封装,方便在小程序开发时批量插入原始数据。
#!/usr/bin/python# coding:utf-8# Bmob后端云基本REST API封装import requestsimport json# 每个应用都会有这两个ID,以下方法如果不传入这两个参数,那么使用这里默认的值APP_ID = 'XXX'REST_API_KEY = 'XXX'# 封装rest api的get方法,根据对象ID获取一条数据# table_name:要查询的表名# object_id:要查询的数据记录的IDdef query(table_name,object_id,app_id = APP_ID,rest_api_key = REST_API_KEY): # 构建请求头 headers = {} headers['X-Bmob-Application-Id'] = app_id headers['X-Bmob-REST-API-Key'] = rest_api_key # 构建url url = 'https://api.bmob.cn/1/classes/{table_name}/{object_id}'.format(table_name = table_name,object_id = object_id) # 发起请求 resp = requests.get(url,headers = headers,verify = False) # 设置响应体编码 resp.encoding = 'utf-8' if resp and resp.status_code == 200: return json.loads(resp.text) return None# 封装rest api的post方法,插入一条记录# table_name:表名,如果表名还不存在,则先创建一个表再插入数据# data:字典,要插入的记录的各个字段的字段名和值def insert(table_name,data,app_id = APP_ID,rest_api_key = REST_API_KEY): # 构建请求头 headers = {} headers['X-Bmob-Application-Id'] = app_id headers['X-Bmob-REST-API-Key'] = rest_api_key headers['Content-Type'] = 'application/json' # 构建url url = 'https://api.bmob.cn/1/classes/{table_name}'.format(table_name = table_name) # 发起请求 resp = requests.post(url,headers = headers,data = json.dumps(data),verify = False) # 设置响应体编码 resp.encoding = 'utf-8' if resp and resp.status_code == 201: print 'insert success!' return json.loads(resp.text) return None# 封装rest api的put方法,传入记录ID,修改一条数据# table_name:要更新的表名# object_id:要更新的数据记录的ID# data:字典类型,要更新的数据的键值对def update(table_name,object_id,data,app_id = APP_ID,rest_api_key = REST_API_KEY): # 构建请求头 headers = {} headers['X-Bmob-Application-Id'] = app_id headers['X-Bmob-REST-API-Key'] = rest_api_key headers['Content-Type'] = 'application/json' # 构建url url = 'https://api.bmob.cn/1/classes/{table_name}/{object_id}'.format(table_name = table_name,object_id = object_id) # 发起请求 resp = requests.put(url,headers = headers,data = json.dumps(data),verify = False) # 设置响应体编码 resp.encoding = 'utf-8' if resp and resp.status_code == 200: print 'update {0} success!'.format(object_id) return json.loads(resp.text) return None# 封装rest api的delete方法,根据对象ID删除一条记录# table_name:要删除的记录所在的表名# object_id:要删除的数据记录的IDdef delete(table_name,object_id,app_id = APP_ID,rest_api_key = REST_API_KEY): # 构建请求头 headers = {} headers['X-Bmob-Application-Id'] = app_id headers['X-Bmob-REST-API-Key'] = rest_api_key # 构建url url = 'https://api.bmob.cn/1/classes/{table_name}/{object_id}'.format(table_name = table_name,object_id = object_id) # 发起请求 resp = requests.delete(url,headers = headers,verify = False) # 设置响应体编码 resp.encoding = 'utf-8' if resp and resp.status_code == 200: print 'delete {0} success!'.format(object_id) return json.loads(resp.text) return None# 查询一个表中的所有数据# table_name:要查询的表名def list(table_name,app_id = APP_ID,rest_api_key = REST_API_KEY): # 构建请求头 headers = {} headers['X-Bmob-Application-Id'] = app_id headers['X-Bmob-REST-API-Key'] = rest_api_key # 构建url url = 'https://api.bmob.cn/1/classes/{table_name}'.format(table_name = table_name) # 发起请求 resp = requests.get(url,headers = headers,verify = False) # 设置响应体编码 resp.encoding = 'utf-8' if resp and resp.status_code == 200: return json.loads(resp.text)['results'] return None
阅读全文
0 0
- 微信小程序开发实践点滴——Bmob基本REST API的python封装
- 微信小程序开发实践点滴——Bmob常用API的使用
- 微信小程序开发实践点滴——Bmob常用API的使用
- 微信小程序开发实践点滴——接入Bmob后端云
- 微信小程序实践——用Promise 封装API
- Bmob的封装
- 基于LeanCloud平台的REST API封装
- 移动App的REST API设计实践
- 移动App的REST API设计实践
- Bmob的基本使用
- 简单的 Nova REST API 实现程序
- python REST API 客户端的 URI 生成器
- Android开发—bmob云服务器
- jax-rs(Java API for RESTful Web Services) 实践教程 之五 —— 注入全局变量 和 rest的生命周期
- 微信小程序基本的开发框架抽取,包括网络请求的二次封装,页面状态管理,常见页面模板封装
- Python REST API 框架
- ActiveMQ与REST API实践
- rest风格api实践初探
- 计数系统架构实践一次搞定
- lintcode: Partition Equal Subset Sum
- 【CSS3盒模型display:box的应用】
- PAT程序设计考题——甲级1014( Waiting in Line ) C++实现
- H5拖拽上传
- 微信小程序开发实践点滴——Bmob基本REST API的python封装
- 钟爱STM32的理由:强大的片上内存调试功能,不改写芯片内原有程序
- Handler, Message 消息传递机制
- Java并发编程:wait()和notify()/notifyAll()
- Leetcode176. Second Highest Salary
- 单例模式
- 代理模式
- JavaScript下实现交换数组元素上下移动例子
- 一些Mysql