my/go/l19/l2.go
2026-06-26 00:56:48 +03:00

59 lines
1,004 B
Go

package main
import (
"fmt"
"net/http"
"encoding/json"
"time"
"bytes"
"io"
)
type UserStruct struct{
Age int `json:"age"`
Name string `json:"name"`
Email string `json:"email"`
}
func polz() (int, string, string) {
fmt.Printf("Your age? ")
var age int
fmt.Scan(&age)
fmt.Printf("Your name? ")
var name string
fmt.Scan(&name)
fmt.Printf("Your email? ")
var email string
fmt.Scan(&email)
return age, name, email
}
func main() {
age, name, email := polz()
user := UserStruct{
Age: age,
Name: name,
Email: email,
}
JsonData, err := json.Marshal(user)
if err != nil {
panic(err)
}
client := &http.Client{
Timeout: 5 * time.Second,
}
req, err := http.NewRequest("POST", "http://127.0.0.1:7777/user", bytes.NewBuffer(JsonData))
if err != nil {
panic(err)
}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
body, err := io.ReadAll(resp.Body)
if err != nil {
panic(err)
}
fmt.Printf("status code %d\n", resp.StatusCode)
fmt.Println(string(body))
}