静的ファイルの配信
Ginは静的コンテンツを配信するための3つのメソッドを提供しています:
router.Static(relativePath, root)— ディレクトリ全体を配信します。relativePathへのリクエストはroot配下のファイルにマッピングされます。例えば、router.Static("/assets", "./assets")は./assets/style.cssを/assets/style.cssで配信します。router.StaticFS(relativePath, fs)—Staticと同様ですが、http.FileSystemインターフェースを受け取り、ファイルの解決方法をより細かく制御できます。埋め込みファイルシステムからファイルを配信する場合や、ディレクトリリスティングの動作をカスタマイズしたい場合に使用します。router.StaticFile(relativePath, filePath)— 単一のファイルを配信します。/favicon.icoや/robots.txtのようなエンドポイントに便利です。
package main
import ( "net/http"
"github.com/gin-gonic/gin")
func main() { router := gin.Default() router.Static("/assets", "./assets") router.StaticFS("/more_static", http.Dir("my_file_system")) router.StaticFile("/favicon.ico", "./resources/favicon.ico")
// 0.0.0.0:8080でリッスンしてサーブ router.Run(":8080")}