日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Flask教程:Flask用于API的方法視圖

Web API 的工作通常與 HTTP 動詞緊密相關(guān),所以這使得實現(xiàn)這樣一個基于 ?MethodView? 類的 API 很有意義。也就是說,你會注意到 大多數(shù)時候, API 需要不同的 URL 規(guī)則來訪問相同的方法視圖。譬如,想象一種 情況,你在 web 上暴露一個用戶對象:

創(chuàng)新互聯(lián)建站專注于連山網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供連山營銷型網(wǎng)站建設(shè),連山網(wǎng)站制作、連山網(wǎng)頁設(shè)計、連山網(wǎng)站官網(wǎng)定制、重慶小程序開發(fā)公司服務(wù),打造連山網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供連山網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

URLHTTP 方法描述
/users/ GET 獲得全部用戶的列表
/users/ POST 創(chuàng)建一個新用戶
/users/ GET 顯示某個用戶
/users/ PUT 更新某個用戶
/users/ DELETE 刪除某個用戶

那么,你會想用 ?MethodView? 做什么?訣竅是利用你可以 對相同的視圖提供多個規(guī)則的事實。

讓我們假設(shè)這時視圖看起來是這個樣子:

class UserAPI(MethodView):

    def get(self, user_id):
        if user_id is None:
            # return a list of users
            pass
        else:
            # expose a single user
            pass

    def post(self):
        # create a new user
        pass

    def delete(self, user_id):
        # delete a single user
        pass

    def put(self, user_id):
        # update a single user
        pass

如此,我們怎樣把它掛載到路由系統(tǒng)中?添加兩條規(guī)則,并且為每條規(guī)則顯式地 指出 HTTP 方法:

user_view = UserAPI.as_view('user_api')
app.add_url_rule('/users/', defaults={'user_id': None},
                 view_func=user_view, methods=['GET',])
app.add_url_rule('/users/', view_func=user_view, methods=['POST',])
app.add_url_rule('/users/', view_func=user_view,
                 methods=['GET', 'PUT', 'DELETE'])

如果你有許多看起來類似的 API ,你可以重構(gòu)上述的注冊代碼:

def register_api(view, endpoint, url, pk='id', pk_type='int'):
    view_func = view.as_view(endpoint)
    app.add_url_rule(url, defaults={pk: None},
                     view_func=view_func, methods=['GET',])
    app.add_url_rule(url, view_func=view_func, methods=['POST',])
    app.add_url_rule('%s<%s:%s>' % (url, pk_type, pk), view_func=view_func,
                     methods=['GET', 'PUT', 'DELETE'])

register_api(UserAPI, 'user_api', '/users/', pk='user_id')

標題名稱:創(chuàng)新互聯(lián)Flask教程:Flask用于API的方法視圖
本文鏈接:http://www.dlmjj.cn/article/dhddshh.html