Я новичок в вебе и хочу отправить данные из моего API в другой API, но мой API отправляет, а другой почему-то не получает

func main() {
    r := gin.Default()

    r.POST("/send-data", func(c *gin.Context) {

        var token struct {
            Api_key string `json:"accsestoken"`
        }
        var data struct {
            Phone  string  `json:"phone"`
            Amount float64 `json:"amount"`
        }
        if err := c.BindJSON(&data); err != nil {
            c.JSON(http.StatusBadRequest, gin.H{"error": "Invalid JSON"})
            return
        }

        token.Api_key = tools.Create_token(data.Phone, data.Amount)
        local_id := uuid.New()

        payload := map[string]interface{}{
            "api_key":  token.Api_key,
            "phone":    data.Phone,
            "amount":   data.Amount,
            "local_id": local_id.String(),
        }

        res, err := json.Marshal(payload)
        if err != nil {
            c.JSON(http.StatusInternalServerError, gin.H{"error": "Failed to prepare data"})
            return
        }

        resp, err := http.Post("http://localhost:8000/api/trxs", "application/json", bytes.NewBuffer(res))
        if err != nil {
            c.JSON(http.StatusInternalServerError, gin.H{"error": "Failed to send data to target API"})
            return
        }
        defer resp.Body.Close()

        c.JSON(http.StatusOK, gin.H{"message": "Data sent successfully"})
    })

    r.Run(":3000")
} 

Функция отправляющая данные:

    r.POST("/api/trxs", func(c *gin.Context) {

        var data struct {
            Api_key  string  `json:"api_key"`
            Phone    string  `json:"phone"`
            Amount   float64 `json:"amount"`
            Local_id string  `json:"local_id"`
        }

        if err := c.ShouldBindJSON(&data); err != nil {
            c.JSON(http.StatusBadRequest, gin.H{"unsuccess": false, "error": err.Error()})
            return
        }
        fmt.Println(data)
        // Возвращение данных клиенту
        c.JSON(http.StatusOK, data)
    })

    r.Run(":8000")

эта функция получает данные, но выдает ошибку:

{
    "error": "EOF",
    "unsuccess": false
} 

Когда я отправляю запрос из первой функции, я получаю:

{
    "message": "Data sent successfully"
}

Но вторая функция выдаёт:

{
    "error": "EOF",
    "unsuccess": false
}

Ответы (0 шт):