gin: 使用独立的路由文件和controller文件(go 1.25)

一,目录结构

image

二,代码

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

如图:

image

posted @ 2025-09-20 09:46  刘宏缔的架构森林  阅读(7)  评论(0)    收藏  举报