Iris
Integration with kataras/iris, a full-featured Go web framework.
Installation
go get github.com/oaswrap/spec/adapter/irisopenapi
Basic Usage
package main
import (
"github.com/kataras/iris/v12"
"github.com/oaswrap/spec/adapter/irisopenapi"
"github.com/oaswrap/spec/option"
)
func main() {
app := iris.New()
api := irisopenapi.NewRouter(app,
option.WithTitle("My API"),
option.WithVersion("1.0.0"),
)
api.Get("/ping", func(ctx iris.Context) {
_ = ctx.JSON(map[string]string{"message": "pong"})
}).With(
option.OperationID("ping"),
option.Response(200, new(struct {
Message string `json:"message"`
})),
)
_ = app.Listen(":8080")
}
Built-in Docs Endpoints
/docsfor interactive docs UI/docs/openapi.yamlfor raw OpenAPI YAML
Disable built-in docs routes when needed:
api := irisopenapi.NewRouter(app,
option.WithTitle("My API"),
option.WithVersion("1.0.0"),
option.WithDisableDocs(),
)