Go’da RESTful API’ler Oluşturmak: Adım Adım Rehber

Semih Tekin
1 min readSep 1, 2024

--

Giriş

RESTful API’ler, modern web uygulamalarının bel kemiğini oluşturur ve farklı hizmetler arasında iletişimi sağlar. Go, güçlü net/http paketi ile bu API'leri oluşturmanın basit bir yolunu sunar. Bu makalede, yönlendirme, ara yazılım ve JSON işlemleri ile eksiksiz bir RESTful API oluşturmayı adım adım ele alacağız.

Projenizi Kurma

Başlamak için yeni bir Go modülü oluşturun:

go mod init myapi

Sonra, 8080 numaralı portta dinleyen basit bir sunucu oluşturun:

package main

import (
"net/http"
"log"
)

func main() {
http.HandleFunc("/api/hello", func(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("Merhaba, Dünya!"))
})

log.Fatal(http.ListenAndServe(":8080", nil))
}

Gorilla Mux ile Yönlendirme

Daha gelişmiş yönlendirme için Gorilla Mux paketini kullanabilirsiniz:

go get -u github.com/gorilla/mux
import (
"github.com/gorilla/mux"
)

r := mux.NewRouter()
r.HandleFunc("/api/hello", helloHandler).Methods("GET")

Gelişmiş İşlevsellik için Ara Yazılım

Ara yazılım fonksiyonları, yönlendirmelerinize ek işleme adımları eklemek için kullanılabilir, örneğin günlük kaydı veya kimlik doğrulama:

func loggingMiddleware(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
log.Println(r.RequestURI)
next.ServeHTTP(w, r)
})
}

r.Use(loggingMiddleware)

JSON İstek ve Yanıtlarını İşleme

REST API’lerinde JSON ile çalışmak oldukça önemlidir. İşte API’nizde JSON’u nasıl işleyebileceğiniz:

func helloHandler(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "application/json")
json.NewEncoder(w).Encode(map[string]string{"message": "Merhaba, Dünya!"})
}

Sonuç

Go’da RESTful API’ler oluşturmak, güçlü standart kütüphanesi ve Gorilla Mux gibi topluluk paketleri sayesinde hem basit hem de güçlüdür. Bu adımları izleyerek, uygulamalarınızı güçlendirecek ölçeklenebilir ve verimli bir API oluşturabilirsiniz.

--

--