GoLang Swaggo Неправильно инициализирует сваггер
При инициализации такого файла
package main
import (
"library/internal/handlers"
)
// @title Music Library API
// @version 1.0
// @host localhost:8080
// @BasePath /songs
func main() {
handlers.Run()
}
Сваггер получается таким
{
"swagger": "2.0",
"info": {
"title": "Music Library API",
"contact": {},
"version": "1.0"
},
"host": "localhost:8080",
"basePath": "/songs",
"paths": {}
}
Но при инициализации такого, сваггер остается тем же самым
package main
import (
"library/internal/handlers"
)
// @title Music Library API
// @version 1.0
// @host localhost:8080
// @BasePath /songs
// @Summary Create tags
// @Description Save tags data in Db.
// @Param tags body request.CreateTagsRequest true "Create tags"
// @Produce application/json
// @Tags tags
// @Success 200 {object} response
func main() {
handlers.Run()
}
Также пробовал инициализировать исключительно дополнительную часть
package main
import (
"library/internal/handlers"
)
// @Summary Create tags
// @Description Save tags data in Db.
// @Param tags body request.CreateTagsRequest true "Create tags"
// @Produce application/json
// @Tags tags
// @Success 200 {object} respon
func main() {
handlers.Run()
}
Сваггер оказывался вообще таким
{
"swagger": "2.0",
"info": {
"contact": {}
},
"paths": {}
}
Пробовал "расфасовывать" обе части аннотаций по разным файлам - все тоже самое. Никак не могу понять в чем ошибка
Ответы (1 шт):
Вот пример работающего файла, в котором есть аннотации метода API:
// UpdateUserStatsHandler Обновление статистики для пользователя
// @Summary Обновление статистики для пользователя
// @Description Обновление статистики для пользователя
// @Param params body UpdateStatsRQ true "User Statistics Data"
// @Tags User Statistics
// @ID update-user-stats
// @Accept json
// @Produce json
// @Success 200 {string} string "OK"
// @Failure 401 {object} helpers.HttpError
// @Failure 400 {object} helpers.HttpError
// @Failure 404 {object} helpers.HttpError
// @Failure 500 {object} helpers.HttpError
// @Router /stats [put]
func UpdateUserStatsHandler(c *gin.Context) {
}
Обязательно нужно чтобы swaggo понимал, откуда берутся структуры типа UpdateStatsRQ, helpers.HttpError - частично для этого используется --parseInternal флаг. -g используется для указания файла, где находится определение API (title, version и т.д), если он отличается от main.go.