您的位置:首页 > 编程语言 > Python开发

SAE Python 后台1

2016-07-10 12:41 155 查看
HTTP请求方法通常也十分合适去描述操作资源的动作:
HTTP方法动作例子
GET获取资源信息http://example.com/api/orders (检索订单清单)
GET获取资源信息http://example.com/api/orders/123 (检索订单 #123)
POST创建一个次的资源http://example.com/api/orders (使用带数据的请求,创建一个新的订单)
PUT更新一个资源http://example.com/api/orders/123 (使用带数据的请求,更新#123订单)
DELETE删除一个资源http://example.com/api/orders/123 删除订单#123
REST请求并不需要特定的数据格式,通常使用JSON作为请求体,或者URL的查询参数的一部份。

迭代1:

(1)后台



(2)客户端



(3)结果



迭代2:

(1)后台



(2)客户端



(3)结果



迭代3:

(1)后台



(2)客户端



(3)结果



插曲:request.json是一个坑。

Flask的request和response对象(一些是元数据,一些是解析后的数据,一些是链接)

(1) Request

method
 起始行,元数据
host
 起始行,元数据
path
 起始行,元数据
environ
 其中的 
SERVER_PROTOCOL
 是起始行,元数据
headers
 头,元数据
data
 body, 元数据
remote_addr
 客户端地址
args
 请求链接中的参数(GET 参数),解析后
form
 form 提交中的参数,解析后
values
 args 和 forms 的集合
json
 json 格式的 body 数据,解析后
cookies
 指向 Cookie 的链接

a. 返回request.json


(服务器)


(客户端)


(结果)

b. 本质是字符串类型(str)







c.非json类型







d.正确访问json







e.request.body是一个带反斜杠的字符串数组。







f.是时候看看其他的部分了





















(2)Response(暂无实例,TODO)

status
 状态码,元数据
status_code
 只包含 code 的 status
headers
 头,元数据
mimetype
 去掉 charset 的 content type,如 
application/json

data
 body,元数据
使用eval(request.json)是一种补坑方法,但request.json又弄出一个坑。如下:

客户端:d1 = {"title":"Read a book", "description":"Read a helpful book","done":False}

jd = json.dumps(d1)

 r = requests.put(url,json = jd)

服务器端:request.json自作聪明地把False转换为小写了,即:(导致eval(request.json)失效。)

request.json = '''  {"title":"Read a book", "description":"Read a helpful book","done":false} '''

补坑方法:


(服务器)


(客户端)


(结果)

原理:



NOTES:避免方法,不用bool值。比如用1表示True,0表示False。

迭代4:

(1)后台



(2)客户端



(3)结果



迭代5:

(1)后台



(2)客户端



(3)结果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sae