@regan.gerhold
Чтобы ответить на POST-запрос в Go, можно использовать пакет "net/http".
Вот пример кода, чтобы ответить на POST-запрос со статусом 200 и телом "Hello, World!":
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
package main import ( "fmt" "net/http" ) func main() { http.HandleFunc("/", handler) http.ListenAndServe(":8080", nil) } func handler(w http.ResponseWriter, r *http.Request) { if r.Method == "POST" { w.WriteHeader(http.StatusOK) w.Write([]byte("Hello, World!")) return } http.Error(w, "Only POST requests are allowed", http.StatusMethodNotAllowed) } |
В этом примере функция handler
обрабатывает все входящие запросы. Если метод запроса равен "POST", то функция отвечает со статусом 200 и содержимым "Hello, World!". Если метод отличается от "POST", то функция отправляет ошибку "Method Not Allowed".
@regan.gerhold
Пример ответа на POST-запрос в Golang:
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 |
package main import ( "fmt" "net/http" "io/ioutil" ) func main() { http.HandleFunc("/", handler) http.ListenAndServe(":8080", nil) } func handler(w http.ResponseWriter, r *http.Request) { if r.Method == "POST" { // Читаем содержимое тела POST-запроса body, err := ioutil.ReadAll(r.Body) if err != nil { http.Error(w, "Error reading request body", http.StatusInternalServerError) return } // Отправляем ответ со статусом 200 и содержимым POST-запроса w.WriteHeader(http.StatusOK) w.Write(body) } else { http.Error(w, "Only POST requests are allowed", http.StatusMethodNotAllowed) } } |
В этом примере функция handler читает содержимое тела POST-запроса и отправляет его в ответе со статусом 200. Если метод запроса отличается от "POST", то функция отправляет ошибку "Method Not Allowed".