Go Fiber 한글 공식 문서
  • 🙇‍♀️안녕하세요
  • 🏠Home
    • 👋Welcome
    • 📁API
      • 📦Fiber
      • 🚀App
      • 🧠Ctx
      • 📋Constants
      • 🌎Client
      • 📃Log
      • 🧬Middleware
        • Adaptor
        • BasicAuth
        • Cache
        • Compress
        • CORS
        • CSRF
        • EarlyData
        • Encrypt Cookie
        • EnvVar
        • ETag
        • ExpVar
        • Favicon
        • FileSystem
        • Health Check
        • Helmet
        • Idempotency
        • Keyauth
        • Limiter
        • Logger
        • Monitor
        • Pprof
        • Proxy
        • Recover
        • Redirect
        • RequestID
        • Rewrite
        • Session
        • Skip
        • Timeout
    • 📁Guide
      • 🔌Routing
      • 🎭Grouping
      • 📝Templates
      • 🐛Error Handling
      • 🔎Validation
      • 🎣Hooks
      • ⚡Make Fiber Faster
    • 📁Extra
      • 🤔FAQ
      • 📊Benchmarks
  • 🧩Extra
    • 🧬Contrip
      • 👋Welcome
      • Casbin
      • Fgprof
      • Fiberi18n
      • Fibernewrelic
      • Fibersentry
      • Fiberzap
      • Fiberzerolog
      • JWT
      • LoadShed
      • Opafiber
      • Otelfiber
        • Example
      • Paseto
      • README
      • Swagger
      • Websocket
    • 📦Storage
      • 👋Welcome
      • ArangoDB
      • Azure Blob
      • Badger
      • Bbolt
      • Coherence
      • Couchbase
      • DynamoDB
      • Etcd
      • Memcache
      • Memory
      • Minio
      • MongoDB
      • MSSQL
      • MySQL
      • Nats
      • Pebble
      • Postgres
      • Redis
      • Ristretto
      • Rueidis
      • S3
      • ScyllaDb
      • SQLite3
    • 📃Template
      • 👋Welcome
      • Ace
      • Amber
      • Django
      • Handlebars
      • HTML
        • Golang Templates Cheatsheet
      • Jet
      • Mustache
      • Pug
      • Slim
Powered by GitBook
On this page
  • Table of Contents
  • Signatures
  • Installation
  • Examples
  • Config
  • Default Config
  1. Extra
  2. Contrip

Swagger

PreviousREADMENextWebsocket

Last updated 1 year ago


용 Swagger 미들웨어입니다. 이 미들웨어는 Swagger UI를 처리합니다.

참고: Go 1.18 이상 버전이 필요합니다

Table of Contents

  • Signatures

  • Installation

  • Examples

  • Config

  • Default Config

Signatures

func New(config ...swagger.Config) fiber.Handler

Installation

go mod init github.com/<user>/<repo>

그런 다음 swagger 미들웨어를 설치합니다:

go get github.com/gofiber/contrib/swagger

Examples

미들웨어 패키지를 임포트합니다

import (
  "github.com/gofiber/fiber/v2"
  "github.com/gofiber/contrib/swagger"
)

기본 설정 사용:

app.Use(swagger.New())

커스텀 설정 사용:

cfg := swagger.Config{
  BasePath: "/",
  FilePath: "./docs/swagger.json",
  Path: "swagger",
  Title: "Swagger API Docs",
}
app.Use(swagger.New(cfg))

여러 Swagger 인스턴스 사용:

// v1용 Swagger 미들웨어 생성
//
// Swagger는 /api/v1/docs에서 사용 가능합니다
app.Use(swagger.New(swagger.Config{
  BasePath: "/api/v1/",
  FilePath: "./docs/v1/swagger.json",
  Path: "docs",
})) 

// v2용 Swagger 미들웨어 생성
//
// Swagger는 /api/v2/docs에서 사용 가능합니다
app.Use(swagger.New(swagger.Config{
  BasePath: "/api/v2/",
  FilePath: "./docs/v2/swagger.json",
  Path: "docs",  
}))

Config

type Config struct {
  // Next는 true를 반환하면 이 미들웨어를 건너뛰는 함수를 정의합니다. 
  //
  // 선택 사항. 기본값: nil
  Next func(c *fiber.Ctx) bool

  // UI path의 BasePath
  // 
  // 선택 사항. 기본값: / 
  BasePath string

  // swagger.json 또는 swagger.yaml 파일의 FilePath
  //
  // 선택 사항. 기본값: ./swagger.json
  FilePath string 

  // Path는 전체 UI path를 위해 BasePath와 결합됩니다
  //
  // 선택 사항. 기본값: docs
  Path string

  // 문서 사이트의 Title 
  //
  // 선택 사항. 기본값: Fiber API documentation
  Title string

  // CacheAge는 Cache-Control 헤더의 max-age를 초 단위로 정의합니다.
  //
  // 선택 사항. 기본값: 3600 (1시간)
  CacheAge int
}

Default Config

var ConfigDefault = Config{
  Next: nil,
  BasePath: "/",
  FilePath: "./swagger.json",
  Path: "docs",
  Title: "Fiber API documentation",
  CacheAge: 3600, // 기본값 1시간
}

Swagger는 모듈 지원과 함께 최신 에서 테스트됩니다. 그러니 아직 하지 않았다면 먼저 초기화해야 합니다:

🧩
🧬
Go 버전
Fiber