GIN MVC
Luồng thực thi:
Router -> controller -> service -> repo -> model -> database
Controller:
package controller
import (
"net/http"
"github.com/TaiTitans/go-ecommerce-backend-api/internal/services"
"github.com/gin-gonic/gin"
)
type UserController struct {
userService *services.UserService
}
func NewUserController() *UserController {
return &UserController{
userService: services.NewUserService(),
}
}
func (uc *UserController) GetUserByID(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{
"message": uc.userService.GetInforUserService(),
})
}
Services:
package services
import "github.com/TaiTitans/go-ecommerce-backend-api/internal/repo"
type UserService struct {
userRepo *repo.UserRepo
}
func NewUserService() *UserService {
return &UserService{}
}
func (us *UserService) GetInforUserService() string {
return us.userRepo.GetInforUser()
}
Repo:
package repo
type UserRepo struct{}
func NewUserRepo() *UserRepo {
return &UserRepo{}
}
func (ur *UserRepo) GetInforUser() string {
return "TaiTitans"
}
Model:
Last updated