-- Go

Go ile Web API Geliştirme Pratik #2

Go ile Web API Pratik #2

Go programlama diliyle web servis, api ve mikroservis geliştirmek isteyenler için oluşturduğum seriye ait bir makaledir.

Bu örnek uygulamada URI üzerinden gelen parametreyi elde edip ekrana yazacağız. Ayrıyeten önemli bir özelliği de ekleyerek bu gönderilen parametrenin sayısal bir değer olduğunu garanti altına alacak bir URI pattern’i kullanacağız.

Projede kullanılan Gorilla/mux paketini kendi projenize kurmak için;

go get github.com/gorilla/mux

Uygulama kaynak kodları;

package main

import (
	"encoding/json"
	"fmt"
	"net/http"

	"github.com/gorilla/mux"
)

type API struct {
	Message string "json:message"
}

func Hello(w http.ResponseWriter, r *http.Request) {
	urlParams := mux.Vars(r)
	id := urlParams["id"]
	messageConcat := "Kullanıcı ID: " + id

	message := API{messageConcat}
	output, err := json.Marshal(message)

	if err != nil {
		fmt.Println("Hata oluştu!")
	}
	fmt.Fprintf(w, string(output))
}

func main() {
	gorillaRoute := mux.NewRouter()
	gorillaRoute.HandleFunc("/api/user/{id:[0-9]+}", Hello)
	http.Handle("/", gorillaRoute)
	http.ListenAndServe(":8080", nil)
}

Github: https://github.com/cihanozhan/golang-webapi-samples

İyi çalışmalar.
Cihan Özhan

Yorumla

Yorum