久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      gin框架有什么優(yōu)勢(shì)

      下面由golang教程欄目給大家介紹gin框架的優(yōu)勢(shì),希望對(duì)需要的朋友有所幫助!

      gin框架有什么優(yōu)勢(shì)

      gin和django對(duì)比

      中間件

      利用函數(shù)調(diào)用棧后進(jìn)先出的特點(diǎn),巧妙的完成中間件在自定義處理函數(shù)完成的后處理的操作。

      django它的處理方式是定義個(gè)類,請(qǐng)求處理前的處理的定義一個(gè)方法,請(qǐng)求處理后的處理定義一個(gè)方法。

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

      請(qǐng)求參數(shù)綁定

      對(duì)于獲取請(qǐng)求內(nèi)容,在模型綁定當(dāng)中,有以下的場(chǎng)景

      • 綁定失敗是用戶自己處理還是框架統(tǒng)一進(jìn)行處理
      • 用戶需是否需要關(guān)心請(qǐng)求的內(nèi)容選擇不同的綁定器

      在gin框架的對(duì)于這些場(chǎng)景給出的答案是:提供不同的方法,滿足以上的需求。這里的關(guān)鍵點(diǎn)還是在于使用場(chǎng)景是怎樣的。

      // 自動(dòng)更加請(qǐng)求頭選擇不同的綁定器對(duì)象進(jìn)行處理 func (c *Context) Bind(obj interface{}) error {     b := binding.Default(c.Request.Method, c.ContentType())     return c.MustBindWith(obj, b) }  // 綁定失敗后,框架會(huì)進(jìn)行統(tǒng)一的處理 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 }  // 用戶可以自行選擇綁定器,自行對(duì)出錯(cuò)處理。自行選擇綁定器,這也意味著用戶可以自己實(shí)現(xiàn)綁定器。 // 例如:嫌棄默認(rèn)的json處理是用官方的json處理包,嫌棄它慢,可以自己實(shí)現(xiàn)Binding接口 func (c *Context) ShouldBindWith(obj interface{}, b binding.Binding) error {     return b.Bind(c.Request, obj) }

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)