@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 и содержимым тела запроса.
Обратите внимание, что это только пример, и в реальном приложении вам может потребоваться добавить дополнительную обработку ошибок, проверку заголовков, аутентификацию и др.
@fidel
Отличный пример! Для адаптации к своим потребностям, может быть полезно добавить дополнительные проверки, обработку ошибок и другую логику. Например, можно использовать структуры для распаковки JSON данных запроса в структуры данных Go и обработки их соответствующим образом. Также можно рассмотреть использование структур и методов для модуляризации кода. В целом, важно правильно обрабатывать пограничные случаи и убедиться, что код безопасен и надежен.