Heim  >  Artikel  >  Backend-Entwicklung  >  Was sind die Vorteile des Gin-Frameworks?

Was sind die Vorteile des Gin-Frameworks?

藏色散人
藏色散人nach vorne
2020-09-16 09:38:075954Durchsuche

Die folgende Kolumne stellt Ihnen die Vorteile des Gin-Frameworks aus der Kolumne Golang-Tutorial vor. Ich hoffe, es wird Freunden in Not helfen!

Was sind die Vorteile des Gin-Frameworks?

Vergleich zwischen Gin und Django

Middleware

Verwenden Sie die Eigenschaften von FunktionsaufrufstapelLIFO, um die Middleware nach der benutzerdefinierten Verarbeitungsfunktion geschickt zu vervollständigen ist abgeschlossene Verarbeitungsvorgänge.

Djangos Verarbeitungsmethode besteht darin, eine Klasse zu definieren, eine Methode für die Verarbeitung vor der Anforderungsverarbeitung zu definieren und eine Methode für die Verarbeitung nach der Anforderungsverarbeitung zu definieren.

Gins Vorgehensweise ist flexibler, aber Djangos Vorgehensweise ist klarer.

Anforderungsparameterbindung

Für den Erhalt von Anforderungsinhalten gibt es bei der Modellbindung die folgenden Szenarien:

  • Wenn Bindungsfehler vom Benutzer selbst oder vom Framework behandelt werden, unabhängig davon, ob sich der Benutzer um den Inhalt kümmern muss Die Anfrage „Wählen Sie verschiedene Bindemittel“
  • Die Antwort im Gin-Framework für diese Szenarien lautet: Stellen Sie verschiedene Methoden bereit, um die oben genannten Anforderungen zu erfüllen. Der entscheidende Punkt liegt hier immer noch im Nutzungsszenario.
// 自动更加请求头选择不同的绑定器对象进行处理
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)
}

Das obige ist der detaillierte Inhalt vonWas sind die Vorteile des Gin-Frameworks?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen