package
0.1.0
Repository: https://github.com/ew0s/trade-bot.git
Documentation: pkg.go.dev

# README

OpenAPIHandler

OpenAPIHandler предоставляет swagger-ui. Документация сервиса генерится из комментариев при помощи инструмента swaggo/swag. За примерами написания комментариев в нужном формате и генерации документации необходимо обращаться в readme swaggo/swag.

Usage

Использовать OpenAPIHandler нужно там, где инициализируются роуты приложения.

package main

import (
	"fmt"
    "net/http"

    "github.com/go-chi/chi"
    "github.com/swaggo/swag"

    _ "github.com/ew0s/trade-bot/cmd/api/swagger" // импорт пакета, сгенерированного swag
    "github.com/ew0s/trade-bot/pkg/openapi"
)

func Router() http.Handler {
	r := chi.NewMux()
    docsPath := "/docs"

    openapiHandler, err := setupOpenapiHandler(docsPath)
    if err != nil {
    	// handle error - can't init swagger"
    }

    r.Route(docsPath, func(r chi.Router) {
    	r.Get(openapi.DocsJSONPath, openapiHandler.DocJSON)
    	r.Get(openapi.DocsIndexPath, openapiHandler.Index)
    	r.Get("/*", openapiHandler.RedirectToIndex)
    })

    return r
}

func setupOpenapiHandler(docsPath string) (*openapi.Handler, error) {
	doc, err := swag.ReadDoc()
	if err != nil {
		return nil, fmt.Errorf("reading swagger (make sure doc import is presented): %w", err)
	}

	openapiHandler, err := openapi.NewHandler(docsPath, doc)
	if err != nil {
		return nil, fmt.Errorf("initializing openapi handler: %w", err)
	}

	return openapiHandler, nil
}

# Functions

No description provided by the author

# Constants

No description provided by the author
No description provided by the author
No description provided by the author

# Structs

No description provided by the author