Skip to content

maxmin93/swagger-gin-simple

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple Gin + GORM & SQLite + Swagger Docs

간단한 Swagger 튜토리얼 따라하기

출처

1) 내용

소스 코드로부터 API 와 설명문을 추출하여 Swagger 문서 생성

  • 추출된 주석 json
  • Gin 웹프레임워크에 Swagger 페이지 연결
module swagger-gin-simple

func main() {
  r := gin.New()

  // The url pointing to API definition
  url := ginSwagger.URL("/swagger/doc.json")
  r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler, url))
}
png{: width="600"}
OpenAPI Specification UI

2) Command-lines

# project root path
$ mkdir swagger-test && cd swagger-test
# directories for gin root & swagger docs
$ mkdir -p docs/ginsimple

# create go.mod
$ go mod init swagger-gin-simple

# install dependencies for gin
$ go get -u github.com/gin-gonic/gin

# write code `main.go`
# ... 문서화 시킬 주석 포함해 코드 작성

# run gin-server
$ go run main.go

# install dependencies for swagger
$ go get -v github.com/swaggo/swag/cmd/swag
$ go get -v github.com/swaggo/gin-swagger
$ go get -v github.com/swaggo/files

# generate swagger pages
$ swag init --parseDependency --parseInternal --parseDepth 1 -g main.go -o docs/ginsimple
2022/11/04 20:22:51 Generate swagger docs....
2022/11/04 20:22:51 Generate general API Info, search dir:./
2022/11/04 20:22:51 create docs.go at  docs/ginsimple/docs.go
2022/11/04 20:22:51 create swagger.json at  docs/ginsimple/swagger.json
2022/11/04 20:22:51 create swagger.yaml at  docs/ginsimple/swagger.yaml
# ==> /swagger/doc.json

# Update main.go to add SwaggerUI.
# ... swagger 페이지 route 생성

# re-run gin-server
$ go run main.go

About

Simple API with gin, gorm+sqlite, swagger

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages