ゴランネルデ?Golang Ile REST API
バールl l k klar
ゴランネルデ?
Go programlama dili, Google tarafından geliştirilmiş “büyük projelerdeki yazılım tecrübeleri” ile belirlenmiş bir dildir. Her programlama dilinin kendine ait bir çalışma alanında avantajları vardır. Go dilinin geliştirilmesi, Google’ın az dil özelliği kuralıyla esnek, hızlı, performanslı ve güçlü bir dil oluşturmaktır. Kısacası asıl amaç hızlı bir şekilde işlem yapmak, bu işlemleri yaparken de performanstan feragat etmemektir.
Go tamamen açık kaynak kodlarına sahip bir programlama dilidir. Bu yüzden Go dilini kullanan diğer şirketlerin geliştiricileri tavsiyesinde de Go diline eklemeler ve çıkarmalar yapılmaktadır. Fakat asıl amaç hızlı ve efektif bir şekilde geliştirme yapmak olduğu için, çoğu dilde olan Generics gibi bazı özelliklerin olmadığını gözlemleyebiliriz. Go dilinde neden Generics olmadığı sorulduğunda bu dili geliştiren Google geliştiricilerinin, “Generics performanslı ve hızlı değil, henüz bunun için bir çözüm bulamadık. Bulursak ekleriz.” Dediği öğrenildi. Bu da dilde performans ve hıza ne kadar önem verdiklerinin kısa bir özeti diyebiliriz.
Network ve Web Aplikasyonları geliştirmede büyük önem taşımaktadır. Oldukça verimli ve compile etmesi çok hızlı bir dil olduğu için geliştiriciler Go dilini sistem yönetiminde sıklıkla kullanmaktadır.
ゴランクル Go dilini nasıl kuracağınızı bilmiyorsanız, aşağıdaki linkten işletim sisteminize göre uygun yükleme seçeneklerine ulaşabilirsiniz:
Golang kurulum: https://golang.org/doc/install
ゴー・イル・レストAPI
Şimdi localhost’umuzda HTTP requestleri ile çalışan basit bir API geliştirelim. İlk olarak main.go isimli dosyamızı oluşturalım. Bu dosya içerisine aşağıdaki kodu yapıştıralım. Bu kodumuzda görmüş olduğunuz gibi 3 farklı fonksiyon bulunmaktadır. Bunlardan homePage fonksiyonu root’taki URL requestlerinden sorumludur, handleRequests fonksiyonu ise URL ile tanımlanan fonksiyonu eşleştirir.
package main
import (
"fmt"
"log"
"net/http"
)
func homePage(w http.ResponseWriter, r *http.Request){
fmt.Fprintf(w, "Welcome to the HomePage!")
fmt.Println("Endpoint Hit: homePage")
}
func handleRequests() {
http.HandleFunc("/", homePage)
log.Fatal(http.ListenAndServe(":10000", nil))
}
func main() {
handleRequests()
}
Yeni bir eklenti geliştirmek istedik bundan sonra ne yapacağız? Yukarıda anlattığım gibi, bir veriyi göndermek istiyorsanız yapacağınız işlemleri bir fonksiyon içerisinde tamamlayıp, handleRequest fonksiyonunda http.HandleFunc("/", xxx) şeklinde URL uzantısını ekleyip veriyi gönderebiliriz.
ディナミクVeri Aktarは、M
Golang Ile Web API Gali Ile Web API GELI ELE TRIMEYI AUTO LUDI DEL IMAGES G MINE REGRACE imdi de dinamik Bir .Dinamik Veri Aktarは、Mを非難します、Ile Ilgili壱岐Farklは、Yamlaが、M . Bulunmaktadを引きます.r . Birunmaksiは、r . birincisiは、o ererinde bir構造i es ererinde Bir構造です.GABS , Dinamik Ya da bilinmeyen json yap pde lar se i ile u lle ra plen rrb b my y mk sa her ar laar .
giz ' in y
go get github.com/Jeffail/gabs
y ' t Kledikten Sonra輸入Edip、Kullanmaya Baは、layabiliizを得ます.package main
import (
"fmt"
"github.com/Jeffail/gabs"
)
func main() {
data := []byte(`{
"employees":{
"protected":false,
"address":{
"street":"22 Saint-Lazare",
"postalCode":"75003",
"city":"Paris",
"countryCode":"FRA",
"country":"France"
},
"employee":[
{
"id":1,
"first_name":"Jeanette",
"last_name":"Penddreth"
},
{
"id":2,
"firstName":"Giavani",
"lastName":"Frediani"
}
]
}
}`)
jsonParsed, err := gabs.ParseJSON(data)
if err != nil {
panic(err)
}
//JSON Aramasi
fmt.Println("Get value of Protected:\t", jsonParsed.Path("employees.protected").Data())
fmt.Println("Get value of Country:\t", jsonParsed.Search("employees", "address", "country").Data())
fmt.Println("ID of first employee:\t", jsonParsed.Path("employees.employee.0.id").String())
fmt.Println("Check Country Exists:\t", jsonParsed.Exists("employees", "address", "countryCode"))
// adres objelerinin yinelenmesi
for key, child := range jsonParsed.Search("employees", "address").ChildrenMap() {
fmt.Printf("Key=>%v, Value=>%v\n", key, child.Data().(string))
}
// employee arrayinin yinelenmesi
for _, child := range jsonParsed.Search("employees", "employee").Children() {
fmt.Println(child.Data())
}
// aramada indexin kullanilmasi
for _, child := range jsonParsed.Search("employees", "employee", "0").Children() {
fmt.Println(child.Data())
}
}
ユカール・デ・コ・ドゥードゥーダー・ゲスト・ラム・オラドゥ・オール・ドゥ・ユウス・ギビデータAD NN BIR配列Fakat Bu Verimiz JSONをコード化している二重のiminde Tutulduは、i iを得ます.Berimizi Bir Database ' s Ese Miamoruuz , Statik Ollarak Fonksiyon I ' s erisinde Tan Media - k k K Fakat dinamik BirE LEL - ER BIRデータベースya da kullanはc cを入力します.
ゆくわきI : Lemleri - ger - like - Ekle - And - Terdikten Sonra - de al al - Cent - T - To - d - Am - Ment - to - Ze - bu - zu - bu - Ekilde - Bir Output ' a ula - by - abiliriz :
Get value of Protected: false
Get value of Country: France
ID of first employee: 1
Check Country Exists: true
Key=>street, Value=>22 Saint-Lazare
Key=>postalCode, Value=>75003
Key=>city, Value=>Paris
Key=>countryCode, Value=>FRA
Key=>country, Value=>France
map[id:1 first_name:Jeanette last_name:Penddreth]
map[id:2 firstName:Giavani lastName:Frediani]
Jeanette
Penddreth
1
のデータは、タン・ミュールの隠れ蓑m m z z verileri i - se - Leiip(KSONパッシング)、キー:価値KombinasyYu ile Kolaylを引きます.Reference
この問題について(ゴランネルデ?Golang Ile REST API), 我々は、より多くの情報をここで見つけました https://dev.to/koraybarkin/golang-nedir-golang-ile-rest-api-gelistirme-13jiテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol