Перейти к основному содержимому
Version: Next

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"),                     ),    )}