go fiber에 swagger를 붙여보자.
·
devops/go
Swagger는 API 문서화 도구로, API의 구조와 사용 방법을 사용자에게 시각적으로 보여주어 API 테스트 및 통합을 쉽게하게 해준다. 이 번 포스팅에서는 간단하게 Go Fiber와 Swagger를 어떻게 통합하여 API 문서를 자동으로 생성하고 제공하는지 알아보자. 코드는 https://github.com/ggorockee/camping-backend-with-go.git   여기에 있다. GitHub - ggorockee/camping-backend-with-goContribute to ggorockee/camping-backend-with-go development by creating an account on GitHub.github.com 당연한 얘기겠지만 설치부터 시작해야 한다.$ go ..
Clean Architecture with go (Feat. fiber)
·
devops/go
개발 시간을 줄이고 특히 새로운 기술 프로젝트에 너혹 싶다면, 클린 아키텍처(Clean Architecture)를 생각해보자. 근데 Go에서는 생각보다 직관적이지가 않다. Go는 OOP 도구가 부족해서 좀 변행해서 구현해야 한다. 이번엔는 기본적인 것만 써서 간단히 백엔드 서비스만 만들도록 하겠다. 먼저 폴더 구조를 알아야 한다.    Go에는 클래스가 없고 대신 구조체와 receiver 함수가 있다. 이걸 클래스 매서드 처럼 사용하면된다. 또한 Go 구조체는 생성자가 없어서 ㅠㅠ 사용자 인스턴스를 만들 때 생성자 함수도 직접 만들어야 한다. 그리고 구조체 메서드를 정의 하면 되겠다.  pkg > entities> spot: 여기에는 도메인을 포함한 모델이 들어간다. 이는 비즈니스 규칙을 표현한다.pkg..
API(Get List)
·
devops/go
1. Route 생성api/routes/spot.gopackage routesimport ( "camping-backend-with-go/api/handlers" "camping-backend-with-go/pkg/spot" "github.com/gofiber/fiber/v2")func SpotRouter(app fiber.Router, service spot.Service) { app.Get("/spots", handlers.GetSpots(service)) app.Post("/spots", handlers.AddSpot(service))} 2.  handler 생성api/presenter/spot.go...func GetSpots(service spot.Service) fiber.Handler { r..
clean-architecture 구성
·
devops/go
go로 api를 구성하는데 최소버전으로 clean-architecture를 구성하도록 하겠다. DB는 aws rds에서 최소버전으로 발급받았다.teleport와 db를 연결한 후에 $ tsh proxy db ggocamping-db-v1 --port 3036 --db-user ggorockeehandlers: fiber에서 api를 호출하면 실제로 실행되는 부분routes:  routing에 따른 handlers를 처리presenter: api reposne 부분으로 구분하여 폴더트리를 만들고 그 안에 각각에 맞게 개발을 진행하도록 한다.DB에 저장되는 entities부터 정의하자. pkg/entities/spot.gopackage entitiesimport ( "gorm.io/gorm" "time")t..