개발/Go

[Gin] Gin 시작해보자!

devhooney 2025. 5. 14. 07:31
728x90

 

타입스크립트를 go로 만든다는데, 그 기념으로 go로 백엔드를 구성해보자.

 

Go 언어를 오랜만에 공부하는데,

기존 Fiber 대신 Gin을 시작해보자.

 

 

 


 

 

728x90

 

 

1. Gin 설치

go mod init my-gin-app
go get -u github.com/gin-gonic/gin

 

 

 

 

2. 최소 실행 코드(main.go)

package main

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

func main() {
	r := gin.Default()

	// 간단한 GET 라우터
	r.GET("/ping", func(c *gin.Context) {
		c.JSON(http.StatusOK, gin.H{"message": "pong"})
	})

	// 실행
	r.Run(":8080") // http://localhost:8080
}

 

 

 

3. 실행

go run main.go

 

 

 

4. 폴더 구조 예시

my-gin-app/
├── main.go
├── routes/
│   └── user.go
├── controllers/
│   └── user_controller.go
├── models/
│   └── user.go

 

 

 

5. API 예시

r.POST("/user", func(c *gin.Context) {
	var json struct {
		Name string `json:"name"`
	}
	if err := c.ShouldBindJSON(&json); err != nil {
		c.JSON(http.StatusBadRequest, gin.H{"error": "invalid JSON"})
		return
	}
	c.JSON(http.StatusOK, gin.H{"message": "Hello " + json.Name})
})

 

 

 

정말 기본중 기본

 

fiber랑 너무비슷하다 

 

728x90