В настоящее время я работаю над API с Go + Gin.Как добавить несколько групп в gin routing для наследования версии api?
API-интерфейс должен включать строку версии, например строку v1
http://127.0.0.1:3000/v1/user/get_username
Это не проблема, потому что я могу создать группу с Gin
v1 := router.Group("/v1")
v1.GET("/user/get_username", modules.UserGetUsername)
Но ... если я запустите новую версию API «v2», а код в функции UserGetUsername не изменился. Я должен сделать следующее:
v1 := router.Group("/v1")
v1.GET("/user/get_username", modules.UserGetUsername)
v2 := router.Group("/v2")
v2.GET("/user/get_username", modules.UserGetUsername)
Есть ли лучше решение для этого - может быть что-то вроде этого:
v1_v2 := router.Group("/v1").AnotherGroup("/v2")
v1_v2.GET("/user/get_username", modules.UserGetUsername)
Спасибо за ваши предложения.
Другой подход можно взять с собой: включать только функцию в определенной версии API, если это совершенно новое или его поведение изменилось с предыдущей версии , –