Как ответить на post запрос в golang?

Пользователь

от fidel , в категории: Golang , 8 месяцев назад

Как ответить на post запрос в golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от raina , 8 месяцев назад

@fidel 

В Golang можно использовать пакет net/http для обработки HTTP запросов и ответов.


Вот пример ответа на POST запрос:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package main

import (
    "fmt"
    "net/http"
)

func main() {
    // Обработчик для POST запроса
    http.HandleFunc("/your-url", func(w http.ResponseWriter, r *http.Request) {
        // Проверяем, что метод запроса - POST
        if r.Method == http.MethodPost {
            // Читаем тело запроса
            body := make([]byte, r.ContentLength)
            _, err := r.Body.Read(body)
            if err != nil {
                http.Error(w, err.Error(), http.StatusInternalServerError)
                return
            }

            // Отправляем ответ
            w.WriteHeader(http.StatusOK)
            fmt.Fprintf(w, "Received POST request with body: %s", body)
        } else {
            http.Error(w, "Invalid request method", http.StatusMethodNotAllowed)
        }
    })

    // Запускаем сервер на порту 8080
    http.ListenAndServe(":8080", nil)
}


Данный пример создает обработчик для URL "/your-url". Если метод запроса - POST, он читает тело запроса и отправляет ответ с кодом 200 и телом, содержащим тело запроса.


Чтобы протестировать этот код, отправьте POST запрос на http://localhost:8080/your-url с телом запроса. Вы должны получить ответ с кодом 200 и содержимым тела запроса.


Обратите внимание, что это только пример, и в реальном приложении вам может потребоваться добавить дополнительную обработку ошибок, проверку заголовков, аутентификацию и др.