SAE Python 后台1

来源:互联网 发布:淘宝客好做不 编辑:程序博客网 时间:2024/06/08 01:11

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)结果


0 0