В чем разница между router.Stati c () и router.Use (stati c .Serve ()) на джине? - PullRequest
0 голосов
/ 18 февраля 2020

Я только что прочитал документацию по gin и обнаружил, что существует 2 различных способа установки папки ресурсов на сервер, один из которых использует метод Stati c () маршрутизатора следующим образом:

package main

import "github.com/gin-gonic/gin"

func main() {
        r := gin.Default()
        r.Static("/assets", "./assets")

Затем другой использует промежуточное ПО stati c следующим образом:

package main

import (
       "github.com/gin-gonic/gin"
       "github.com/gin-contrib/static"
)

func main() {
        r := gin.Default()
        r.Use(static.Serve("/", static.LocalFile("./assets", false)))

Есть ли разница между этими двумя способами в отношении скорости, побочных эффектов и так далее?

1 Ответ

1 голос
/ 18 февраля 2020

Первая опция из :

Stati c обслуживает файлы из указанной файловой системы root. Внутренне используется http.FileServer, поэтому вместо обработчика NotFound маршрутизатора используется http.NotFound.

Второй параметр ссылка :

Stati c возвращает обработчик промежуточного программного обеспечения, который обслуживает stati c файлы в указанном каталоге.

оба используют http.FileServer под капотом.

...