一,go程式碼:
controller/articleController.go
package controller
import "github.com/gofiber/fiber/v2"
type ArticleController struct{}
func NewArticleController() *ArticleController {
return &ArticleController{}
}
func (dc *ArticleController) GetArticle(c *fiber.Ctx) error {
// 處理獲取文章的邏輯
return c.SendString("獲取文章資訊")
}
func (dc *ArticleController) CreateArticle(c *fiber.Ctx) error {
// 處理建立文章的邏輯
return c.SendString("建立文章")
}
controller/userController.go
package controller
import "github.com/gofiber/fiber/v2"
type UserController struct{}
func NewUserController() *UserController {
return &UserController{}
}
func (dc *UserController) GetUser(c *fiber.Ctx) error {
// 處理獲取使用者的邏輯
return c.SendString("獲取使用者資訊")
}
func (dc *UserController) CreateUser(c *fiber.Ctx) error {
// 處理建立使用者的邏輯
return c.SendString("建立使用者")
}
routes/routes.go
package routes
import (
"github.com/gofiber/fiber/v2"
"industry/controller"
)
func SetupRoutes(app *fiber.App) {
//文章模組
articleController := controller.NewArticleController()
article := app.Group("/article")
article.Get("/info", articleController.GetArticle)
article.Post("/", articleController.CreateArticle)
//使用者模組
userController := controller.NewUserController()
user := app.Group("/user")
user.Get("/info", userController.GetUser)
user.Post("/", userController.CreateUser)
}
main.go
package main
import (
"github.com/gofiber/fiber/v2"
"industry/routes"
)
func main() {
app := fiber.New()
// 設定路由
routes.SetupRoutes(app)
// 啟動伺服器
err := app.Listen(":3000")
if err != nil {
return
}
}
二,測試效果:
$ ./industry
┌───────────────────────────────────────────────────┐
│ Fiber v2.52.5 │
│ http://127.0.0.1:3000 │
│ (bound on host 0.0.0.0 and port 3000) │
│ │
│ Handlers ............. 6 Processes ........... 1 │
│ Prefork ....... Disabled PID .............. 2558 │
└───────────────────────────────────────────────────┘