Notice
Recent Posts
Recent Comments
Link
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Archives
Today
Total
관리 메뉴

Code Habit

Go - Tigo 사용하여 간단한 웹 서버 구현하기 본문

카테고리 없음

Go - Tigo 사용하여 간단한 웹 서버 구현하기

코드베어 2021. 2. 1. 19:27

Tigo는 Go언어로 개발된 web 프레임워크로 이를 이용하여 간단하게 웹서버를 제작할 수 있다.

 

간단히 Get방식의 API 서버를 만들어 보려 한다.

 

먼저, Tigo 라이브러를 설치해야 한다. 'go get' 명령어를 이용하여 Tigo 라이브러리를 설치한다.

>> go get github.com/karldoenitz/Tigo/...

 

그리고 다음 예제 코드를 작성한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package main
 
import "./thirdparties/Tigo/TigoWeb"
 
// handler
type HelloHandler struct {
    TigoWeb.BaseHandler
}
 
type GoodbyeHandler struct {
    TigoWeb.BaseHandler
}
 
func (helloHandler *HelloHandler) Get() {
    helloHandler.ResponseAsHtml("Hello Tigo!")
    //helloHandler.ResponseAsJson("1111")
}
 
func (goodbyeHandler *GoodbyeHandler) Get() {
    goodbyeHandler.ResponseAsHtml("Good-bye Tigo !")
}
 
var urls = map[string]interface{}{
    "/hello-tigo":   &HelloHandler{},
    "/goodbye-tigo"&GoodbyeHandler{},
}
 
func main() {
    application := TigoWeb.Application{
        IPAddress:  "127.0.0.1",
        Port:       8888,
        UrlPattern: urls,
    }
    application.Run()
}
 

 

29줄에서 작성할 웹서버의 정보(IP, Port, 상세주소/핸들러)를 넘겨주며 application이라는 WebServer 객체를 만들고 .Run() 함수를 이용하여 웹 서버를 동작 시킨다. 위 코드에서는 "127.0.0.1" 즉 자신의 PC에 8888번 포트번호로 서버를 개설하였다. UrlPattern 값으로 넘겨주는 'urls'는 서버 상세주소와 이를 처리하는 핸들러 함수 정보를 담고 있는 map데이터이다.

 

TigoWeb.BaseHandler는 웹서버에 들어온 요청을 처리하는 핸들러다. HelloHandler, GoodbyeHandler를 "/hello-tigo", "/goodbye-togo" 주소에 대한 핸들러로 등록하는데 요청이 들어오면 각각의 Get() 함수에서 이를 처리하고 응답한다.

 

테스트로 웹 브라우저에 다음 주소로 접근하면 다음과 같은 결과를 확인할 수 있다.

http://127.0.0.1:8888/hello-tigo
>> Hello-Tigo!

http://127.0.0.1:8888/goodbye-tigo
>> Good-bye Tigo !