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