Я новичок в Golang и хочу создать API с использованием пакета http
. Поэтому я попробовал приведенный ниже фрагмент кода:
package main
import (
"fmt"
"net/http"
)
type server struct{}
func (s *server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(http.StatusOK)
r.ParseForm()
fmt.Println(r.Header["Content-Type"][0])
fmt.Printf("The URL is: %s\n", r.Form)
}
func main() {
s := &server{}
http.Handle("/", s)
http.ListenAndServe(":8080", nil)
}
Запрос:
curl localhost:8080 -d url=google.com -i
И вывод:
application/x-www-form-urlencoded
The URL is: map[url:[google.com]]
Все в порядке, пока не используется пользовательскийГлагол как:
curl localhost:8080 -d url=google.com -i -X CREATE
И вывод:
application/x-www-form-urlencoded
The URL is: map[]
Есть проблема с http
пакет и пользовательские глаголы HTTP?
Или что-то не так в моемкод