들어가기에 앞서
이 글은 gin-gonice의 Docs를 참고해서 쓴 글입니다
당연하게도 Gin은 Go(Golang)로 작성된 웹 프레임워크입니다.
특징은 무엇이 있을까요?
빠르다 , 기수 트리 기반 라우팅, 작은 메모리공간, 예측 가능한 API 성능등의 특징이있습니다
미들웨어 지원
들어오는 HTTP 요청은 일련의 미들웨어와 최종 작업에 의해 처리될 수 있습니다. 예: Logger, Authorization, GZIP 그리고 마지막으로 DB에 메시지를 게시합니다.
충돌 방지
Gin은 Http 요청 중에 발생한 에러를 포착하고 복구할 수 있습니다. 이렇게 하면 서버를 항상 사용가능합니다
JSON 유효성 검사
Gin은 요청에 JSON을 분석하고 검증할 수 있습니다
경로 그룹화
우리가 보내는 url들(Path)들을 그룹화 시킬 수 있습니다 예를들어 인증이 필요한 Path, 필요하지 않은 Path등을 말이죠
그런데 속도 저하 없이 무제한으로 중첩도 가능합니다!
오류 관리
Gin은 Http 요청 중에 발생한 모든 오류를 수집하는 편리한 방법을 제공합니다.
렌더링 내장
Gin은 JSON, XML 및 HTML 랜더링을 위해 사용하기 쉬운 API를 제공합니다.
확장 가능
새로운 미들웨어를 만드는 것은 매우 쉽습니다.
간단하게 설치를 해봅시다
- 다운로드 및 설치:
$ go get -u github.com/gin-gonic/gin
2. 코드에서 가져옵니다.
import "github.com/gin-gonic/gin"
3. (선택 사항) 가져오기 net/http. 예를 들어 와 같은 상수를 사용하는 경우 필요합니다 http.StatusOK.
import "net/http"
4. 프로젝트 폴더를 만들고 cd내부에
$ mkdir -p $GOPATH/src/github.com/myusername/project && cd "$_"
5. 프로젝트 내에서 시작 템플릿 복사
$ curl https://raw.githubusercontent.com/gin-gonic/examples/master/basic/main.go > main.go
6. 프로젝트 실행
$ go run main.go
'Go' 카테고리의 다른 글
[Go] gRPC Basics tutorial 예제 분석 (0) | 2023.07.08 |
---|---|
[Go] Go Clean Architecture란 무엇인가? (0) | 2023.05.01 |
[Go] Go로 로그 패키지 만들기 (1) (1) | 2023.03.07 |
[Go] golang slice안에 특징 (0) | 2023.02.16 |
[Go] Go루틴이란 무엇인가? (0) | 2023.02.16 |