Rest 传递参数以获取请求
我似乎不知道如何在Rest 传递参数以获取请求,rest,go,request,Rest,Go,Request,我似乎不知道如何在go中执行此操作 我遵循本教程: 我可以使用头传递参数,我认为这是个坏主意 我基本上是在寻找go版本的python In [28]: import requests In [29]: r = requests.get("http://localhost:8000/get_result", params={"number": 40}) 以下是我的REST API代码: package main import ( "net/http" "strconv"
go
中执行此操作
我遵循本教程:
我可以使用头传递参数,我认为这是个坏主意
我基本上是在寻找go
版本的python
In [28]: import requests
In [29]: r = requests.get("http://localhost:8000/get_result", params={"number": 40})
以下是我的REST API代码:
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)
}
我尝试使用以下代码调用它:
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)
}
上述内容与python类似:
In [34]: r = requests.get("http://localhost:8000/get_result", headers={"Number": 7})
当我使用python方法(使用params)调用api时,我看到/get_result?number=7
行作为请求对象的一部分打印出来。但是我在我的围棋版本中没有看到它,所以我一定是说它错了。我遗漏了什么?看起来您需要使用
标准库还返回一个请求结构,其中包含一个成员,该成员具有一个函数,您可以在发出请求之前使用该函数将参数添加到查询中