gin: 使用独立的路由文件和controller文件

一,目录结构:

二,代码:

1,controller/ImageController.go

package controller

import (
	"github.com/gin-gonic/gin"
	"net/http"
)

type ImageController struct{}

func NewImageController() ImageController {
	return ImageController{}
}

//得到详情
func (ic *ImageController) Detail(c *gin.Context) {
	c.JSON(http.StatusOK, gin.H{
		"message": "image detail",
	})
}

//得到列表
func (ic *ImageController) List(c *gin.Context) {
	c.JSON(http.StatusOK, gin.H{
		"message": "image list",
	})
}

2,routes/routes.go

package routes

import (
	"github.com/gin-gonic/gin"
	"imagebank/controller"
)

func Routes() *gin.Engine {
	router := gin.Default()

	//image
	image := controller.NewImageController()
	imageGroup := router.Group("/image")
	{
		imageGroup.GET("/detail", image.Detail)
		imageGroup.GET("/list", image.List)
	}

	return router
}

3,main.go

package main

import (
    "imagebank/routes"
)

// 入口函数
func main() {
    //引入路由
    r := routes.Routes()
    //run
    r.Run(":8080")
}

 

三,测试效果:

 

posted @ 2025-01-29 22:00  刘宏缔的架构森林  阅读(38)  评论(0)    收藏  举报