An example of using swagger console with gorilla/mux rest.
- step 1: Comment annotate main and handler methods with swagger comments https://github.com/swaggo/swag#declarative-comments-format.
- step 1.1: Download swag by using:
$ go get -u github.com/swaggo/swag/cmd/swag
- step 2: swag init -g main.go
- this will generate docs folder and swagger json in it
- import it e.g. _ "github.com/ajit-go/swaggerexample/docs"
- step 3: host swagger with "github.com/swaggo/http-swagger"
go get -u github.com/ajit-go/swaggerexample
cd $GOPATH/src/github.com/ajit-go/swaggerexample
go run main.go or fresh
go get github.com/swaggo/swag/cmd/swag
swag init
swag init -g router.go //if its not main.go
this generates swagger json and init fucntion in {approot}/docs folder
go get -u github.com/gorilla/mux
go get -u github.com/swaggo/http-swagger
import "github.com/ajit-go/swaggerexample/docs"
https://github.com/swaggo/swag
Fresh reloads the rest app automatically on each file change (https://github.com/gravityblast/fresh) How to:
go get github.com/pilu/fresh
just run fresh
in app root
Any compile/runtime exceptions are logged in dynamically generated file:
{approot}/tmp/runner-build-errors.log
-
_ import statements prefixed with an ubnderscore.
- This means, import package, create package-level variables and execute the init function of that package. It is used for side effects such as init scripts etc.
-
There are some tricks in import declaration, for example by doing:
import m "container/list" You could refer to the exported identifiers with "m.Identifiername", e.g. l := m.New() Also by doing: import . "container/list" You can leave out the package name completely: l := New()
This should run all tests in current directory and all of its subdirectories:
$ go test ./...
This should run all tests with import path prefixed with foo/:
$ go test foo/...
This should run all tests import path prefixed with foo:
$ go test foo...
This should run all tests in your $GOPATH:
$ go test ...
go test -cover ./...
go test $(go list ./... | grep -v /archive/)