프로젝트 디렉토리 구성

4543 단어 gogin
모든 부분이 수행하는 작업을 기반으로 코드를 분리하는 것은 항상 좋은 습관이므로 나중에 관련 부분을 찾기가 더 쉽기 때문에 더 진행하기 전에 그렇게 하겠습니다. 루트 프로젝트 디렉토리에서 새 디렉토리cmd/rgb/를 생성하고 그곳으로 파일main.go을 이동합니다. 그것이 우리 앱의 진입점이 될 것입니다.
또한 디렉토리internal/server/를 생성하고 거기에 Gin 서버가 시작될 새 파일server.go을 추가합니다. main.go에서 서버를 시작하는 함수가 호출됩니다. 또한 라우터 설정을 자체 파일internal/server/router.go로 이동합니다. 이제 파일을 살펴보겠습니다.
cmd/rgb/main.go의 내용:

package main

import "rgb/internal/server"

func main() {
  server.Start()
}

inernal/server/server.go의 내용:

package server

func Start() {
  router := setRouter()

  // Start listening and serving requests
  router.Run(":8080")
}

internal/router.go의 내용:

package server

import (
  "github.com/gin-gonic/gin"
)

func setRouter() *gin.Engine {
  // Creates default gin router with Logger and Recovery middleware already attached
  router := gin.Default()

  // Create API route group
  api := router.Group("/api")
  {
    // Add /hello GET route to router and define route handler function
    api.GET("/hello", func(ctx *gin.Context) {
      ctx.JSON(200, gin.H{"msg": "world"})
    })
  }

  router.NoRoute(func(ctx *gin.Context) { ctx.JSON(http.StatusNotFound, gin.H{}) })

  return router
}


이제 프로젝트 디렉토리는 아래 그림과 같습니다.

좋은 웹페이지 즐겨찾기