import ( "encoding/json" "io/ioutil" "net/http" "html/template" "log" "fmt" ) func bitflyerHandler(w http.ResponseWriter, r *http.Request){ uri := "https://api.bitflyer.com/v1/getticker" req, _ := http.NewRequest("GET", uri, nil) client := new(http.Client) resp, _ := client.Do(req) defer resp.Body.Close() byteArray, _ := ioutil.ReadAll(resp.Body) var ticker Ticker json.Unmarshal([]byte(byteArray),&ticker) t := template.Must(template.ParseFiles("/home/vagrant/go/src/github.com/me/sample/src/bitflyer.html.tpl")) if err := t.ExecuteTemplate(w, "bitflyer.html.tpl", fmt.Sprintf("%.0f\n", ticker.Ltp)); err != nil { log.Fatal(err) } } func main() { // fmt.Printf("%.0f\n",ticker.Ltp) http.HandleFunc("/bitflyer/", bitflyerHandler) log.Fatal(http.ListenAndServe(":8080",nil)) } type Ticker struct { Code string `json:"product_code"` Ltp float64 `json:"ltp"` }
bitflyer.html.tpl
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> {{ . }} </body> </html>
なるほど、これをcoin marketでやるか