2015-11-02 23 views
5

go'da bunun nasıl yapılacağını anlayamıyorum.Parametreleri GET isteğine geçirme

https://github.com/parnurzeal/gorequest

ve ben kötü bir fikir olduğunu düşünüyorum Header kullanarak parametreleri geçirebilirsiniz: Bu öğretici takip ediyordu

.

package main 

import(
    "fmt"  
    "reflect" 
    "github.com/parnurzeal/gorequest" 

) 

func main() { 

    resp, body, errs := gorequest.New(). 
     Get("http://localhost:8000/get_result"). 
     Set("Number", "7").  // Changes the Header 
     Type("form").   // These two lines appear 
     Send(`{"number": 5}`). // to be irrelevant 
     End() 


    fmt.Println(errs) 
    fmt.Println(resp) 
    fmt.Println(body) 

} 
: Bu kodu kullanarak aramak çalışıyorum

package main 

import (
    "net/http" 
    "strconv" 
    "fmt" 
) 

func make_result(w http.ResponseWriter, r *http.Request) { 

    fmt.Println(r) 

    err := r.ParseForm() 
    if err != nil { 
     panic(err) 
    } 

    number_string := r.Form["number"][0] 
    // number_string := r.Header["Number"][0] header solution 
    number, err := strconv.Atoi(number_string) 
    if err != nil { 
     panic(err) 
    } 

    fmt.Fprint(w, fmt.Sprint(number * 5)) 

} 

func main() { 
    http.HandleFunc("/get_result", make_result) 
    http.ListenAndServe("localhost:8000", nil) 
} 

:

Temelde python

In [28]: import requests 

In [29]: r = requests.get("http://localhost:8000/get_result", params={"number": 40}) 

ait go sürümü arıyorum ardından benim REST API benim kodudur

Yukarıdakiler python'a benzer:

In [34]: r = requests.get("http://localhost:8000/get_result", headers={"Number": 7}) 

API dönmesini (params kullanarak) piton yöntemi kullanıyorum, I /get_result?number=7 <nil> <nil> hattı request object bir parçası olarak basılabilir görüyoruz. Ama benim go versiyonumda göremiyorum, bu yüzden yanlış demeliyim. Neyi kaçırıyorum?

cevap

6

Bunu yapmak için Param kullanmanız gerekiyor gibi görünüyor.

Ayrıca

standart kütüphanenin NewRequest döner İsteği vermeden önce sorgunuzla Add parametreleri için kullanabileceğiniz bir işlevi Query sahip bir üyesi URL bir istek yapı.

İlgili konular