Sfoglia il codice sorgente

new file go/l18.go for learning http POST requests

root 2 settimane fa
parent
commit
edb119f389
2 ha cambiato i file con 46 aggiunte e 0 eliminazioni
  1. 45 0
      go/l18.go
  2. 1 0
      go/tempCodeRunnerFile.go

+ 45 - 0
go/l18.go

@@ -0,0 +1,45 @@
+package main
+
+import (
+	"fmt"
+	// "os"
+	// "github.com/joho/godotenv"
+	"encoding/json"
+	"net/http"
+	"time"
+	"bytes"
+	"log"
+)
+
+type Send struct{
+	Name string `json:"name"`
+	Age int `json:"id"`
+}
+
+func main() {
+	fmt.Println("Name for body")
+	var name string
+	fmt.Scanln(&name)
+	data := Send{
+		Name: name,
+		Age: 66,
+	}
+	client := &http.Client{
+		Timeout: 10 * time.Second,
+	}
+	body, err := json.Marshal(data)
+	if err != nil {
+		log.Fatalf("%v\n", err)
+	}
+	req, err := http.NewRequest("POST", "https://api.restful-api.dev/objects", bytes.NewBuffer(body))
+	if err != nil {
+		log.Fatalf("%v\n", err)
+	}
+	req.Header.Set("Content-Type", "application/json")
+	resp, err := client.Do(req)
+	if err != nil {
+		log.Fatalf("%v\n", err)
+	}
+	defer resp.Body.Close()
+	fmt.Println("Status code", resp.StatusCode)
+}

+ 1 - 0
go/tempCodeRunnerFile.go

@@ -0,0 +1 @@
+"os"