我正在做一个自己的项目。
我正在尝试建立一个Golang服务器,该服务器根据用户传递的参数(ID)显示来自远程json文件的JSON数据。
我可以找到很多指南,展示如何使用json API中的所有数据,但是我不知道如何将参数传递给函数,因此它仅返回所需的数据。
这是我到目前为止所拥有的:
设置基本服务器和路由
func main() {
//Initialises basic router and endpoints
r := mux.NewRouter()
r.HandleFunc("/", home).Methods("GET")
r.HandleFunc("/games/all", getAll).Methods("GET")
r.HandleFunc("/games/{id}", getGame).Methods("POST")
r.HandleFunc("/games/report", getReport).Methods("GET")
fmt.Println("Listening on port 8080")
http.ListenAndServe(":8080", r)
}
这是我的getAll方法,它发送GET请求(暂时使用pokedex api,直到托管我的json文件为止)。
func getAll(w http.ResponseWriter, r *http.Request) {
response, err := http.Get("http://pokeapi.co/api/v2/pokedex/kanto/")
if err != nil {
fmt.Print(err.Error())
os.Exit(1)
}
responseData, err := ioutil.ReadAll(response.Body)
if err != nil {
log.Fatal(err)
}
fmt.Println(string(responseData))
}
还为数据构建了结构。但是我无法终生找到一种方法来传递参数以执行getGame方法来处理该路由。拜托,如果有人能指出我正确的方向。