Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- c++
- Linux
- FOR
- go언어
- http
- window
- 리뷰
- write
- windows
- install
- GO 언어
- JavaScript
- mutex
- Callback
- C
- go
- File
- tcp
- Golang
- 영화
- range
- channel
- Python
- Sync
- bitcoin
- package
- API
- 책
- json
- Close
Archives
- Today
- Total
Code Habit
Go - Tigo 사용하여 간단한 웹 서버 구현하기 본문
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 !