Go Web Framework - Echo

1. 서론.

  • 언어에 상관 없이 네트워크 소켓만 열 수 있다면 서버 개발이 가능합니다. 그 중 HTTP를 열어두면 웹 서버가 되는 것이죠.
  • 요즘 언어들은 정형화 된 HTTP 모듈을 기본적으로 제공하기 때문에 간단한 웹 서버 정도는 쉽게 개발 가능합니다. 하지만 기능이 복잡해질수록 프레임워크의 힘이 발휘됩니다.
  • 라우팅, 헤더/파라미터/바디 파싱, JSON 인코드/디코드, 인증, 로깅, 파일 업/다운로드, TLS 등등 많은 것들이 이미 구현되어 제공됩니다. 그것도 오픈소스로.
  • 그럼 Go 웹 프레임워크는 어떠한 것들이 있을까요? https://github.com/mingrammer/go-web-framework-stars 역시나 많습니다. 이외에도 많겠죠? 고마운 프로젝트들이고, 고마운 사람들입니다. 이 중 작고 빠르다고 해서 Echo https://echo.labstack.com를 선택했습니다.

 

2. Echo Framework 설치.

  • 참고: https://echo.labstack.com/guide/installation
  • 상단 메뉴의 Terminal - New Terminal을 선택하거나 Ctrl+`를 입력해 하단 TERMIANL 탭에서 아래 명령어를 입력합니다.
      $ go get -u github.com/labstack/echo/...
    

 

3. Echo 예제.

  • 참고: https://echo.labstack.com/cookbook/hello-world

3-1. 예제코드 작성.

  • ~/Downloads/server.go

      package main
    
      import (
          "net/http"
    
          "github.com/labstack/echo"
          "github.com/labstack/echo/middleware"
      )
    
      func main() {
          // Echo instance.
          e := echo.New()
    
          // Middleware.
          e.Use(middleware.Logger())
          e.Use(middleware.Recover())
    
          // Route => handler.
          e.GET("/", func(c echo.Context) error {
              return c.String(http.StatusOK, "Hello, World!\n")
          })
    
          // Start server.
          e.Logger.Fatal(e.Start(":1323"))
      }
    

3-2. 실행.

  • 상단 메뉴의 Terminal - New Terminal을 선택하거나 Ctrl+`를 입력해 하단 TERMIANL 탭에서 아래 명령어를 입력합니다.
      $ go run ~/Downloads/server.go
    
    Echo 예제코드 실행
  • 웹 서버가 정상적으로 실행되었는지 웹 브라우저로 http://localhost:1323 에 접속해 봅시다. Echo 웹 서버 접속
0
Subscribe to my newsletter

Read articles from Albert Hongseok Gu directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Albert Hongseok Gu
Albert Hongseok Gu