gin: 使用独立的路由文件和controller文件(go 1.25)
一,目录结构

二,代码
controller
package controller
import (
"github.com/gin-gonic/gin"
"net/http"
)
type MediaController struct{}
func NewMediaController() MediaController {
return MediaController{}
}
//得到详情
func (ic *MediaController) Detail(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{
"message": "media detail",
})
}
//得到列表
func (ic *MediaController) List(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{
"message": "media list",
})
}
routes
package routes
import (
"github.com/gin-gonic/gin"
"mediabank/controller"
)
func Routes() *gin.Engine {
router := gin.Default()
//media
media := controller.NewMediaController()
mediaGroup := router.Group("/media")
{
mediaGroup.GET("/detail", media.Detail)
mediaGroup.GET("/list", media.List)
}
return router
}
main
package main
import (
"mediabank/routes"
)
// 入口函数
func main() {
//引入路由
r := routes.Routes()
//run
r.Run(":8080")
}
三,运行效果:
运行:
$ go build
$ ./mediabank
访问:
http://192.168.219.3:8080/media/list
如图:

浙公网安备 33010602011771号