Константа http.MethodDelete

Константа http.MethodDelete представляет собой строковое значение "DELETE", которое используется для создания HTTP-запросов с методом DELETE. Эта константа определена в пакете net/http и служит для удобства работы с HTTP-методами, позволяя избежать использования "магических строк" в коде. Метод DELETE используется для удаления ресурса на сервере по указанному URL.

Синтаксис

gohttp.MethodDelete

Константа имеет тип string и не требует инициализации. Она доступна для использования в любых местах, где требуется указать HTTP-метод DELETE.

Пример

Давайте создадим HTTP-запрос с методом DELETE с использованием константы http.MethodDelete:

gopackage main

import (
  "fmt"
  "net/http"
)

func main() {
  url := "https://api.example.com/resources/123"
  req, err := http.NewRequest(http.MethodDelete, url, nil)
  if err != nil {
    fmt.Println("Error creating request:", err)
    return
  }

  fmt.Println(req.Method)
}

Результат выполнения кода:

go"DELETE"

Пример

Используем константу для выполнения DELETE-запроса с клиентом:

gopackage main

import (
  "fmt"
  "net/http"
)

func main() {
  client := &http.Client{}
  url := "https://api.example.com/posts/42"
  req, err := http.NewRequest(http.MethodDelete, url, nil)
  if err != nil {
    fmt.Println("Error creating request:", err)
    return
  }

  resp, err := client.Do(req)
  if err != nil {
    fmt.Println("Error sending request:", err)
    return
  }
  defer resp.Body.Close()

  fmt.Println("Status code:", resp.StatusCode)
}

Результат выполнения кода (возможный):

go"Status code: 204"

В этом примере мы создаем запрос с методом DELETE и отправляем его с помощью HTTP-клиента. Статус код 204 означает, что ресурс был успешно удален.

Пример

Используем константу в обработчике для проверки метода запроса:

gopackage main

import (
  "fmt"
  "net/http"
)

func deleteHandler(w http.ResponseWriter, r *http.Request) {
  if r.Method == http.MethodDelete {
    fmt.Fprintf(w, "Resource deleted successfully")
  } else {
    http.Error(w, "Method not allowed", http.StatusMethodNotAllowed)
  }
}

func main() {
  http.HandleFunc("/delete", deleteHandler)
  fmt.Println("Server is running on port 8080")
  http.ListenAndServe(":8080", nil)
}

Результат выполнения кода (при запросе DELETE /delete):

go"Resource deleted successfully"

Смотрите также

  • константу http.MethodGet,
    которая используется для GET-запросов
  • константу http.MethodPost,
    которая используется для POST-запросов
  • константу http.MethodPut,
    которая используется для PUT-запросов
  • константу http.MethodPatch,
    которая используется для PATCH-запросов