-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrouter.go
45 lines (37 loc) · 1.39 KB
/
router.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package main
import (
"github.com/RaymondCode/simple-demo/controller"
"github.com/gin-gonic/gin"
"path"
)
func InitRouter(r *gin.Engine) {
// public directory is used to serve static resources
r.Static("/static", "./public")
apiRouter := r.Group("/douyin")
// basic apis
apiRouter.GET("/feed/", controller.Feed)
apiRouter.GET("/user/", controller.UserInfo)
apiRouter.POST("/user/register/", controller.Register)
apiRouter.POST("/user/login/", controller.Login)
apiRouter.POST("/publish/action/", controller.Publish)
apiRouter.GET("/publish/list/", controller.PublishList)
// extra apis - I
apiRouter.POST("/favorite/action/", controller.FavoriteAction)
apiRouter.GET("/favorite/list/", controller.FavoriteList)
apiRouter.POST("/comment/action/", controller.CommentAction)
apiRouter.GET("/comment/list/", controller.CommentList)
// extra apis - II
apiRouter.POST("/relation/action/", controller.RelationAction)
apiRouter.GET("/relation/follow/list/", controller.FollowList)
apiRouter.GET("/relation/follower/list/", controller.FollowerList)
// videos test
apiRouter.GET("/videos/:name", DowFile)
}
func DowFile(c *gin.Context) {
// 通过动态路由方式获取文件名,以实现下载不同文件的功能
name := c.Param("name")
// 拼接路径,如果没有这一步,则默认在当前路径下寻找
filename := path.Join("./public/", name)
// 响应一个文件
c.File(filename)
}