微信小程序开发实践点滴——Bmob基本REST API的python封装

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 requests
import json

# 每个应用都会有这两个ID,以下方法如果不传入这两个参数,那么使用这里默认的值
APP_ID = 'XXX'
REST_API_KEY = 'XXX'

# 封装rest api的get方法,根据对象ID获取一条数据
# table_name:要查询的表名
# object_id:要查询的数据记录的ID
def 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:要删除的数据记录的ID
def 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
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值