中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

gin框架有哪些優勢

發布時間:2020-09-16 13:44:37 來源:億速云 閱讀:697 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關gin框架有哪些優勢,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

gin和django對比

中間件

利用函數調用棧后進先出的特點,巧妙的完成中間件在自定義處理函數完成的后處理的操作。

django它的處理方式是定義個類,請求處理前的處理的定義一個方法,請求處理后的處理定義一個方法。

gin的方式更靈活,但django的方式更加清晰。

請求參數綁定

對于獲取請求內容,在模型綁定當中,有以下的場景

  • 綁定失敗是用戶自己處理還是框架統一進行處理
  • 用戶需是否需要關心請求的內容選擇不同的綁定器

在gin框架的對于這些場景給出的答案是:提供不同的方法,滿足以上的需求。這里的關鍵點還是在于使用場景是怎樣的。

// 自動更加請求頭選擇不同的綁定器對象進行處理
func (c *Context) Bind(obj interface{}) error {
    b := binding.Default(c.Request.Method, c.ContentType())
    return c.MustBindWith(obj, b)
}

// 綁定失敗后,框架會進行統一的處理
func (c *Context) MustBindWith(obj interface{}, b binding.Binding) (err error) {
    if err = c.ShouldBindWith(obj, b); err != nil {
        c.AbortWithError(400, err).SetType(ErrorTypeBind)
    }

    return
}

// 用戶可以自行選擇綁定器,自行對出錯處理。自行選擇綁定器,這也意味著用戶可以自己實現綁定器。
// 例如:嫌棄默認的json處理是用官方的json處理包,嫌棄它慢,可以自己實現Binding接口
func (c *Context) ShouldBindWith(obj interface{}, b binding.Binding) error {
    return b.Bind(c.Request, obj)
}

關于gin框架有哪些優勢就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南漳县| 莎车县| 安塞县| 阳泉市| 玉环县| 周至县| 扶绥县| 博罗县| 临江市| 耿马| 宜丰县| 米林县| 华蓥市| 宁德市| 临高县| 若尔盖县| 黔西| 庄浪县| 紫阳县| 吴堡县| 英吉沙县| 白山市| 安图县| 敦化市| 阳朔县| 临沭县| 民县| 新巴尔虎右旗| 金溪县| 兴安盟| 长白| 钦州市| 达拉特旗| 木里| 南靖县| 新巴尔虎左旗| 集安市| 平南县| 阜新| 望都县| 滨州市|