Update RESTful
This commit is contained in:
48
zh/08.3.md
48
zh/08.3.md
@@ -68,41 +68,51 @@ Go没有为REST提供直接支持,但是因为RESTful是基于HTTP协议实现
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/drone/routes"
|
||||
"github.com/julienschmidt/httprouter"
|
||||
"log"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
func getuser(w http.ResponseWriter, r *http.Request) {
|
||||
params := r.URL.Query()
|
||||
uid := params.Get(":uid")
|
||||
func Index(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {
|
||||
fmt.Fprint(w, "Welcome!\n")
|
||||
}
|
||||
|
||||
func Hello(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
|
||||
fmt.Fprintf(w, "hello, %s!\n", ps.ByName("name"))
|
||||
}
|
||||
|
||||
func getuser(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
|
||||
uid := ps.ByName("uid")
|
||||
fmt.Fprintf(w, "you are get user %s", uid)
|
||||
}
|
||||
|
||||
func modifyuser(w http.ResponseWriter, r *http.Request) {
|
||||
params := r.URL.Query()
|
||||
uid := params.Get(":uid")
|
||||
func modifyuser(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
|
||||
uid := ps.ByName("uid")
|
||||
fmt.Fprintf(w, "you are modify user %s", uid)
|
||||
}
|
||||
|
||||
func deleteuser(w http.ResponseWriter, r *http.Request) {
|
||||
params := r.URL.Query()
|
||||
uid := params.Get(":uid")
|
||||
func deleteuser(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
|
||||
uid := ps.ByName("uid")
|
||||
fmt.Fprintf(w, "you are delete user %s", uid)
|
||||
}
|
||||
|
||||
func adduser(w http.ResponseWriter, r *http.Request) {
|
||||
uid := r.FormValue("uid")
|
||||
func adduser(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
|
||||
// uid := r.FormValue("uid")
|
||||
uid := ps.ByName("uid")
|
||||
fmt.Fprintf(w, "you are add user %s", uid)
|
||||
}
|
||||
|
||||
func main() {
|
||||
mux := routes.New()
|
||||
mux.Get("/user/:uid", getuser)
|
||||
mux.Post("/user/", adduser)
|
||||
mux.Del("/user/:uid", deleteuser)
|
||||
mux.Put("/user/:uid", modifyuser)
|
||||
http.Handle("/", mux)
|
||||
http.ListenAndServe(":8088", nil)
|
||||
router := httprouter.New()
|
||||
router.GET("/", Index)
|
||||
router.GET("/hello/:name", Hello)
|
||||
|
||||
router.GET("/user/:uid", getuser)
|
||||
router.POST("/adduser/:uid", adduser)
|
||||
router.DELETE("/deluser/:uid", deleteuser)
|
||||
router.PUT("/moduser/:uid", modifyuser)
|
||||
|
||||
log.Fatal(http.ListenAndServe(":8080", router))
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user