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
'개발 > Go' 카테고리의 다른 글
[Gin] GORM 관계 설정 완전 정복 - 1:N, N:1, N:M 예제로 배우기 (60) | 2025.05.26 |
---|---|
[Gin] Go + Gin + GORM으로 백엔드 만들기 (기초부터 CRUD까지) (41) | 2025.05.24 |
[Fiber] Fiber Template 사용하기 (2) | 2022.11.08 |
[Fiber] Fiber Routing과 Grouping (0) | 2022.11.07 |
[Fiber] Fiber 설정 및 에러 (0) | 2022.11.05 |