国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

強(qiáng)業(yè)務(wù)邏輯抽象API接口

ygyooo / 682人閱讀

摘要:組件接入類映射類動(dòng)作類接入類主要做路由,限流,鑒權(quán)等接入放行性質(zhì)的工作映射類名稱到動(dòng)作類的映射動(dòng)作類表達(dá)一個(gè)接口的實(shí)際業(yè)務(wù)邏輯操作,權(quán)限,數(shù)據(jù)都在這里進(jìn)行配置業(yè)務(wù)邏輯操作順序數(shù)據(jù)結(jié)構(gòu)與格式驗(yàn)證,數(shù)據(jù)正確性驗(yàn)證,如驗(yàn)證碼,密碼等,數(shù)據(jù)存在性驗(yàn)

組件

接入類

映射類

動(dòng)作類

接入類

主要做路由,限流,鑒權(quán)等接入放行性質(zhì)的工作

class App:
    action_map = {}

    def dispatch(self, data):
        try:
            assert data["action"] in self.action_map, ErrorCode.sys_action_not_exist
            action = self.action_map[data["action"]]
            return {
                "code": 0,
                "msg": "",
                "data": action.run(data["params"])
            }
        except AssertionError as e:
            msg, code = e
            return {
                "code": code,
                "msg": msg,
                "data": None
            }
        except Exception:
            traceback.print_exc()
            msg, code = ErrorCode.sys_unknown
            return {
                "code": code,
                "msg": msg,
                "data": None
            }

映射類

名稱到動(dòng)作類的映射

action_map = {
    "register": RegisterAction
}
動(dòng)作類

表達(dá)一個(gè)接口的實(shí)際業(yè)務(wù)邏輯操作,權(quán)限,數(shù)據(jù)schema都在這里進(jìn)行配置

class RegisterAction(Action):
    schema = Schema({
        "verify_code": And(str, len),
        "phone": And(str, len),
        "password": And(str, len)
    })
    auth = False

    def run(self, data):
        assert check_verify_code(data["verify_code"]), MyErrorCode.verify_code_wrong
        assert User.get(data["phone"]), MyErrorCode.already_register
        return {"token": "token"}
業(yè)務(wù)邏輯

操作順序

數(shù)據(jù)結(jié)構(gòu)與格式驗(yàn)證,validate

數(shù)據(jù)正確性驗(yàn)證,如驗(yàn)證碼,密碼等,check

數(shù)據(jù)存在性驗(yàn)證,exist

數(shù)據(jù)業(yè)務(wù)狀態(tài)驗(yàn)證,status

數(shù)據(jù)業(yè)務(wù)更改操作并提交至數(shù)據(jù)庫,run

返回成功,return

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/42419.html

相關(guān)文章

  • 基于shiro的自定義注解的擴(kuò)展

    摘要:的自身注解的用法。所以自定義注解的作用很廣。但是在這里,我僅僅基于的來實(shí)現(xiàn)適用于它的自定義注解。其他的自定義的注解的編寫思路和這個(gè)也是類似的。 基于shiro的自定義注解的擴(kuò)展 根據(jù)我的上一篇文章,權(quán)限設(shè)計(jì)的雜談中,涉及到了有關(guān)于前后端分離中,頁面和api接口斷開表與表層面的關(guān)聯(lián),另辟蹊徑從其他角度找到方式進(jìn)行關(guān)聯(lián)。這里我們主要采取了shiro的自定義注解的方案。本篇文章主要解決以下的...

    YuboonaZhang 評(píng)論0 收藏0
  • “樂高式松耦合”架構(gòu)實(shí)戰(zhàn)

    摘要:二樂高式松耦合架構(gòu)落地快速實(shí)現(xiàn)需求與需求實(shí)現(xiàn)越來越慢的矛盾如何解決最終白山的產(chǎn)品架構(gòu)聚焦在解耦上,方便平臺(tái)快速迭代,減少系統(tǒng)間依賴程度,打通無關(guān)聯(lián)項(xiàng)目,為運(yùn)營(yíng)互動(dòng)提供高效支持,確保服務(wù)質(zhì)量。 作者:王康 白山聯(lián)合創(chuàng)始人兼產(chǎn)品副總裁。 王康先生主要負(fù)責(zé)產(chǎn)品的完善與升級(jí)、產(chǎn)品開發(fā)流程把控及進(jìn)度協(xié)調(diào)、產(chǎn)品設(shè)計(jì)改進(jìn)及定期優(yōu)化、產(chǎn)品全生命周期管理等工作。他帶領(lǐng)團(tuán)隊(duì)實(shí)現(xiàn)白山首款產(chǎn)品CDN-X的多項(xiàng)...

    xiaochao 評(píng)論0 收藏0
  • “樂高式松耦合”架構(gòu)實(shí)戰(zhàn)

    摘要:二樂高式松耦合架構(gòu)落地快速實(shí)現(xiàn)需求與需求實(shí)現(xiàn)越來越慢的矛盾如何解決最終白山的產(chǎn)品架構(gòu)聚焦在解耦上,方便平臺(tái)快速迭代,減少系統(tǒng)間依賴程度,打通無關(guān)聯(lián)項(xiàng)目,為運(yùn)營(yíng)互動(dòng)提供高效支持,確保服務(wù)質(zhì)量。 作者:王康 白山聯(lián)合創(chuàng)始人兼產(chǎn)品副總裁。 王康先生主要負(fù)責(zé)產(chǎn)品的完善與升級(jí)、產(chǎn)品開發(fā)流程把控及進(jìn)度協(xié)調(diào)、產(chǎn)品設(shè)計(jì)改進(jìn)及定期優(yōu)化、產(chǎn)品全生命周期管理等工作。他帶領(lǐng)團(tuán)隊(duì)實(shí)現(xiàn)白山首款產(chǎn)品CDN-X的多項(xiàng)...

    Pikachu 評(píng)論0 收藏0
  • App后臺(tái)api開發(fā)前的準(zhǔn)備

    摘要:負(fù)責(zé)從拉取數(shù)據(jù)源,把數(shù)據(jù)源分詞,建立索引搜索模塊工作流程如下模塊從中拉取數(shù)據(jù)模塊用經(jīng)過中文分詞后的數(shù)據(jù)建立索引客戶端向模塊發(fā)起搜索請(qǐng)求模塊查找索引中的數(shù)據(jù)模塊得到索引中符合要求的數(shù)據(jù)的等數(shù)據(jù)把數(shù)據(jù)返回給客戶端 (整理自《App后臺(tái)開發(fā)運(yùn)維和架構(gòu)實(shí)踐》 作者:曾健生) 一、從業(yè)務(wù)邏輯中提煉API接口 此過程可分為六個(gè)階段: 業(yè)務(wù)邏輯思維導(dǎo)圖 功能——業(yè)務(wù)邏輯思維導(dǎo)圖 基本功能模塊關(guān)系 ...

    yzzz 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<