【问题标题】:Multiple Params REST API call多个参数 REST API 调用
【发布时间】:2020-01-31 18:00:25
【问题描述】:

我目前为我的 REST API 设置了路由: 使用多路复用器

localhost:8080/user/{id} 本地主机:8080/space/{id}

server.Router.HandleFunc("/users", middlewares.SetMiddlewareJSON(server.GetUsers)).Methods("GET")
server.Router.HandleFunc("/posts", middlewares.SetMiddlewareJSON(server.GetPosts)).Methods("GET")

设置中间件函数

func SetMiddlewareJSON(next http.HandlerFunc) http.HandlerFunc {
    return func(w http.ResponseWriter, r *http.Request) {
        w.Header().Set("Content-Type", "application/json")
        next(w, r)
    }
}

我将如何将它们组合成

localhost:8080/user/1/post/{id}

项目的存储库在这里: https://github.com/Robbie-Thomas/fullstack

【问题讨论】:

  • 喜欢server.Router.HandleFunc("/users/{user_id}/posts/{post_id}", ...

标签: rest api go


【解决方案1】:

您将需要一个带有该路径的HandlerFunc

server.Router.HandleFunc("/users/{userId}/post/{id}", middlewares.SetMiddlewareJSON(server.GetUsers)).Methods("GET")

在处理函数 func 中,您将访问这些变量:

vars:=mux.Vars(request)
userId:=vars["userId"]
postId:=vars["id"]

【讨论】:

    猜你喜欢
    • 2015-10-15
    • 1970-01-01
    • 1970-01-01
    • 2016-10-28
    • 1970-01-01
    • 1970-01-01
    • 2018-11-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多