Openapi (Swagger) документации
#
ОсновныеДля того, чтобы включит генерацию Openapi документации, необходимо использовать функцию OpenapiEnable
.
package example
import ( "github.com/example/app/pkg/controller" . "github.com/swipe-io/swipe/v2")
func Swipe() { Build( Service( Interface((*controller.UserController)(nil), ""), HTTPServer(), OpenapiEnable(), ), )}
Документация будет сгенерирована в корень проекта.
#
Настройки#
Изменение пути генерацииДля того, чтобы изменить путь генерации Openapi документации, необходимо использовать функцию OpenapiOutput
.
package example
import ( "github.com/example/app/pkg/controller" . "github.com/swipe-io/swipe/v2")
func Swipe() { Build( Service( Interface((*controller.UserController)(nil), ""), HTTPServer(), OpenapiEnable(), OpenapiOutput("./docs") // путь указывается относительно корня проекта. ), )}
#
Установка информацииВы можете установить заголовок, описание и версию с помощью функции OpenapiInfo
.
package example
import ( "github.com/example/app/pkg/controller" . "github.com/swipe-io/swipe/v2")
func Swipe() { Build( Service( Interface((*controller.UserController)(nil), ""), HTTPServer(), OpenapiEnable(), OpenapiInfo("Service Name", "Service description", "v1.0.0"), ), )}
#
Установка контактовВы можете установить контакты, с помощью функции OpenapiContact
.
package example
import ( "github.com/example/app/pkg/controller" . "github.com/swipe-io/swipe/v2")
func Swipe() { Build( Service( Interface((*controller.UserController)(nil), ""), HTTPServer(), OpenapiEnable(), OpenapiContact("John Doe", "jd@mail.com", "jd.com"), OpenapiContact("No Name", "no@mail.com", ""), ), )}
#
Установка информации о серверахВы можете установить информацию о серверах, с помощью функции OpenapiServer
.
package example
import ( "github.com/example/app/pkg/controller" . "github.com/swipe-io/swipe/v2")
func Swipe() { Build( Service( Interface((*controller.UserController)(nil), ""), HTTPServer(), OpenapiEnable(), OpenapiServer("Test API", "http://api.test.com"), OpenapiServer("Dev API", "http://api.dev.com"), ), )}