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 请求
Posted cucy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了9.5 处理http 请求相关的知识,希望对你有一定的参考价值。
以上是关于9.5 处理http 请求的主要内容,如果未能解决你的问题,请参考以下文章