Write Response Module 이번에는 공통적인 쓰기를 이위한 응답 모듈을 작성해 보자. REST API 는 단순히 JSON 으로 응답을 보내는 경우도 많고, 단순 텍스트를 응답으로 보내는 경우가 많다. 그러나 좀더 개발을 편리하게 하고, 공통적인 응답 구조를 작성하기 위해서는 응답 모듀를 별도로 작성하는 것이 좋다. 정상 케이스 응답 모듈 작성하기. 우리는 응답 모듈을 작서하기 위해서 response.go 파일을 하나 만들고 이를 이용할 것이다. response.go 파일을 다음과 같이 작성하자. package main import ( "encoding/json" "net/http" ) func responseWithJSON(w http.ResponseWriter, code int, paylo..
파라미터 처리 이번에는 파라미터 처리에 대해서 알아보자. Path Variable 사용하기. 지금까지 라우팅을 통해서 엔드포인트에 대한 핸들러 등록을 수행했다. 이제부터는 리퀘스트를 분석하는 방법을 알아보자. Path Variable /api/users/{id} 와 같이 {id} 에 대한 값을 PathVariable 이라고 한다. 이 id 에 해당하는 값은 URL encoding 된 어떠한 값이든 가능하다. api_users.go 파일에서 UserById 함수를 다음과 같이 수정하자. func UserByID(w http.ResponseWriter, r *http.Request) { vars := mux.Vars(r) userID := vars["id"] fmt.Fprintf(w, "UserByID :%..
Route using module REST API 를 만들면 각 서비스 도메인에 따라 라우팅도 다양하게 일어나야한다. 이럴때 이전 예제와 같이 라우팅을 하나의 go 파일에 모두 작성하면 파일이 비대해지고, 관리도 쉽지 않게 될 것이 자명하다. 이럴때 Route를 수행하는 모듈을 만들고 코드를 분리하면 관리도 편하고, 필요에 따라 코드 작성도 쉽게 수행할 수 있는 이점이 있다. Route 모듈 작성하기. 지금은 패키지를 사용하지 않고 동일한 패키지 내에서 라우팅 모듈을 작성할 것이다. route_module.go 파일을 하나 만들고 다음과 같이 모듈을 작성하자. package main import ( "net/http" "github.com/gorilla/mux" ) // 핸들러 구조체를 작성한다. // ..
Routing 이번에는 좀더 Routing 에 대해서 깊이 있게 알아보자. HTTP Method 웹은 기본적으로 CRUD를 위한 GET, POST, PUT, DELETE 를 제공한다. 그 밖에도 HEAD, PATHCH 등 다양한 메소드를 제공한다. 이전 예제에서 핸들러를 단순 등록하면 모든 Method 를 받아 들일 수 있다. 그러나 이는 좋은 방법이 아니며, 용도에 맞는 메소드를 지정하여 endpoint 를 열어주는 것이 필요하다. Method 이용하기. main.go 에 다음과 같이 내용을 변경해보자. package main import ( "fmt" "html" "log" "net/http" "github.com/gorilla/mux" ) func main() { r := mux.NewRouter(..
Install Gorilla For Web Server 지난번에는 http 모듈을 이용하여 웹 서버를 구현했지만 웹 서버를 편하게 개발하기에는 그리 좋은 모듈은 아니다. 이번에는 Gorilla 를 이용한 웹 서버를 만들어 볼 것이다. Install Gorilla Gorilla 를 설치하기 위해서 다음 명령을 콘솔에서 실행하자. go get github.com/gorilla/mux go 에서는 go get 을 이용하면 필요한 모듈을 설치할 수 있다. main.go 수정하기. 이제는 Gorilla를 이용하여 동일한 기능으로 웹 서버를 만들어 보자. import ( "fmt" "html" "log" "net/http" "github.com/gorilla/mux" ) func main() { r := mux.N..
Build a basic web server Go 언어는 가볍고 빠르며, 효율적인 자원 사용으로 현재 매우 인기가 급상승하고 있는 프로그래밍 언어이다. 서버 개발 및 웹 서비스까지 매우 다양한 용도로 이용되고 있으며, 이번 아티클에서는 간단하게 웹 서비스를 수행할 하는 예제를 작성해 볼 것이다. Go http 모듈 우리는 우선 간단한 웹 서버를 만들어 볼 것이다. https://godoc.org/net/http 에서 net/http 모듈을 사용하여 간단한 웹 서버를 만든다. Hello World 서버 package main import ( "fmt" "log" "net/http" ) func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *ht..
- Total
- Today
- Yesterday
- mapping
- Spring
- docker-compose
- springboot
- deploy
- MongoDB
- declative
- docker
- jenkins
- kafka-springboot
- Terraform
- mongo
- Golang
- argocd
- MySQL
- CD
- gitops
- D3
- java
- Database
- kubernetes
- Kafka
- go
- CI
- NodeSelector
- Gorilla
- jpa
- AWS
- kubectl
- tfsec
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |