Flask編寫API的核心思想

2021-09-19 10:43:51 字數 1991 閱讀 5198

這篇文章,是我的自言自語

a: 當客戶端與伺服器端分離時, 需要通過api傳遞資源

a: 即資料庫中的資料

a: 使用json的方式表示, 以鍵值的方式表示乙個資源, 每乙個鍵代表資源的乙個屬性; 使用陣列(列表)表示資源的集合, 例如

[

,]

a: 涉及http方法對映: 如下表

get ------> 獲取(集合,特定資源)

post -----> 建立(特定資源)

put ------> 更新(特定資源)

delete ---> 刪除(特定資源)

a:

flask需要把資料庫資源通過json的形式提供出去, 所以需要在資料庫model中定義to_json方法, 以

json的形式表示資料庫資料, 以user類為例

class user(db.model):

......

def to_json(self):

json_user =

return json_user

......

flask需要接受客戶端傳送的json資料從而用於建立資源,

所以需要在資料庫model中定義from_json方法

class user(db.model):

......

@staticmethod

def from_json(json_data):

user = user(

username = json_data.get('username'),

password = json_data.get('password')

)return user

......

並在api**中搭配[request.get_json()]()使用

/api/users.py

from flask import request

@api.route('/users/', methods=['post'])

def create_user():

user = user.from_json(request.get_json())

db.session.add(user)

db.session.commit()

還是以使用者資源為例:

@api.route('/users/', methods=['get'])

def get_users():

"""獲取使用者資源集合"""

pass

@api.route('/users//', methods=['get'])

def get_id_users(id):

"""獲取特定id使用者資源"""

pass

@api.route('/users/', methods=['get', 'post'])

def create_user():

"""建立使用者資源"""

pass

@api.route('/users//', methods=['get', 'put'])

def update_id_user(id):

"""更新特定id使用者資源"""

pass

@api.route('/users//', methods=['get', 'delete'])

def delete_id_user(id):

"""刪除特定id使用者"""

pass

a: 你這不是廢話嗎....

MapReduce核心思想

mapreduce核心程式設計思想,如圖1 1所示。圖1 1 mapreduce核心程式設計思想 1 分布式的運算程式往往需要分成至少 2個階段。2 第乙個階段的 maptask 併發例項,完全並行執行,互不相干。3 第二個階段的 reducetask 併發例項互不相干,但是他們的資料依賴於上乙個階...

Kafka核心思想

kafka是2010年12月份開源的專案,採用scala語言編寫,使用了多種效率優化機制,整體架構比較新穎 push pull 更適合異構集群。設計目標 1 資料在磁碟上的訪問代價為o 1 2 高吞吐率,在普通的伺服器上每秒也能處理幾十萬條訊息 3 分布式架構,能夠對訊息分割槽 4 支援將資料並行的...

Spring核心思想

spring三大核心思想分別是 控制反轉 ioc 依賴注入 di 面向切面程式設計 aop ioc 控制反轉 將元件間的關係從程式內部轉移至外部容器 xml檔案 中進行管理。di 依賴注入 元件間的依賴關係由系統執行期間決定。外部容器將帶有依賴關係的目標物件例項動態注入到系統中的各個元件中。ioc與...