9.5 處理http 請求
阿新 • • 發佈:2018-03-27
default OS ane spa UNC () div min package
package main
import (
"fmt"
"net/http"
)
func main() {
mux := http.NewServeMux()
mux.HandleFunc("/user", func(w http.ResponseWriter, r *http.Request) {
if r.Method == http.MethodGet {
fmt.Fprintln(w, "User GET")
}
if r.Method == http.MethodPost {
fmt.Fprintln(w, "User POST" )
}
})
// separate handler
itemMux := http.NewServeMux()
itemMux.HandleFunc("/items/clothes", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprintln(w, "Clothes")
})
mux.Handle("/items/", itemMux)
// Admin handlers
adminMux := http.NewServeMux()
adminMux.HandleFunc("/ports" , func(w http.ResponseWriter, r *http.Request) {
fmt.Fprintln(w, "Ports")
})
mux.Handle("/admin/",
http.StripPrefix("/admin", adminMux))
// Default server
http.ListenAndServe(":8080", mux)
}
/*
(sx3.5.3) ? ~ curl -XI http://127.0.0.1:8080/user
(sx3.5.3) ? ~ curl -XI http://127.0.0.1:8080/userA
404 page not found
(sx3.5.3) ? ~ curl -X POST http://127.0.0.1:8080/user
User POST
(sx3.5.3) ? ~ curl http://127.0.0.1:8080/admin
<a href="/admin/">Moved Permanently</a>.
*/
9.5 處理http 請求