響應處理
1、序列化資料marchal工具,定義字典資料
裝飾器形式marshal_with(fields,envelope='信封')
marshal(data,fields,envelop='')1#
flask-restful 響應處理2#
1、marshal 序列化資料
3from flask import
flask
4from flask_restful import
api,resource,marshal,marshal_with,fields)7
#讓後端返回的資料可以序列化
8class
user(object):
9def
__init__
(self,user_id,mobile,name):
10 self.user_id =user_id
11 self.mobile =mobile
12 self.name =name13#
序列化容器
14 resource_data =
1920
21class
respresource(resource):
22 @marshal_with(resource_data,envelope='
data')
23def
get(self):24#
return
25 user = user('
2022
','13209880988
','xh')
26#return user
27return
marshal(user,resource_data)
28 api.add_resource(respresource,'
/index')
2930
if__name__ == '
__main__':
執行結果 使用postman工具
2、統一資料的json格式
找到flask-restful原始碼中的output_json函式
重寫返回資料的方法data進行巢狀處理
手動呼叫裝飾器1#
統一資料互動的格式:返回json格式
2from flask import
flask
3from flask_restful import
api,resource)6
7from flask import
8from flask_restful.utils import
py39
from json import
dumps
1011 @api.representation('')
12def output_json(data,code,headers=none):
restful_json
',{})
14if
'message
'not
indata:
15 data =
19if
20 settings.setdefault('
indent
',4)
21 settings.setdefault('
sort_keys
',not
py3)
22 dumped = dumps(data,**settings)+"\n"
2324 resp =make_response(dumped,code)
25 resp.headers.extend(headers or
{})26
return
resp
27class
jsonresource(resource):
28def
get(self):
29return
30 api.add_resource(jsonresource,'/'
)31if__name__ == '
__main__':
執行結果
Flask RESTful關於響應
flask restful 提供了marshal工具,用來幫助我們將資料序列化為特定格式的字典資料,以便作為檢視的返回值。from flask restful import resource,fields,marshal with resource fields class todo resourc...
flask restful學習筆記
restful api前端與後台進行通訊的一套規範,使用這套規範可以讓前後端開發變得更加輕鬆 協議 http 或 https 資料傳輸格式 json url連線 get 獲取 post 新建 eg 使用者註冊 put 更新 eg 要求客戶端提供所有資料 patch 更新區域性 delete 從伺服器...
flask restful使用講解
flask restful筆記 安裝 flask restful需要在flask 0.8以上的版本,在python2.6或者python3.3上執行。通過pip install flask restful即可安裝。基本使用 1.從 flask restful 中匯入 api 來建立乙個 api 物件...