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")
}
三,测试效果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
2023-01-29 Flutter:升级用到的第三方库(Flutter 3.7.0)
2023-01-29 macos安装android studio(Android Studio 2021.1.1)