Константа http.MethodDelete
Константа http.MethodDelete представляет собой строковое значение
"DELETE", которое используется для создания HTTP-запросов
с методом DELETE. Эта константа определена в пакете net/http
и служит для удобства работы с HTTP-методами, позволяя избежать
использования "магических строк" в коде. Метод DELETE используется
для удаления ресурса на сервере по указанному URL.
Синтаксис
http.MethodDelete
Константа имеет тип string и не требует инициализации.
Она доступна для использования в любых местах, где требуется
указать HTTP-метод DELETE.
Пример
Давайте создадим HTTP-запрос с методом DELETE с использованием
константы http.MethodDelete:
package 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)
}
Результат выполнения кода:
"DELETE"
Пример
Используем константу для выполнения DELETE-запроса с клиентом:
package 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)
}
Результат выполнения кода (возможный):
"Status code: 204"
В этом примере мы создаем запрос с методом DELETE и отправляем его с помощью HTTP-клиента. Статус код 204 означает, что ресурс был успешно удален.
Пример
Используем константу в обработчике для проверки метода запроса:
package 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):
"Resource deleted successfully"
Смотрите также
-
константу
http.MethodGet,
которая используется для GET-запросов -
константу
http.MethodPost,
которая используется для POST-запросов -
константу
http.MethodPut,
которая используется для PUT-запросов -
константу
http.MethodPatch,
которая используется для PATCH-запросов