Golang笔记

goji v2 与goji 的对接

goji 是个优秀的框架,作者说以前是弄着玩的,后来较正规的按照go 的设计原则来重构,不过尽量保持原来的接口。

下面是正式版的一点改变:

// Getting objects from the request context
- c.Env["key"]
+ ctx.Value("key")

// Setting objects
- c.Env["key"] = someVal
+ ctx = context.WithValue(ctx, "key", someVal)

// Route parameters
- c.URLParams["name"]
+ pat.Param(ctx, "name")

// Creating multiplexers (muxes/routers)
- web.New()
+ goji.NewMux()

// Routes and handlers
- mux.Get("/route", YourHandler)
+ mux.HandleC(pat.Get("/route"), YourHandler) // Use mux.Handle for vanilla http.Handler

sample 的改变

package main

import (
        "fmt"
        "net/http"

        "goji.io"
        "goji.io/pat"
        "golang.org/x/net/context"
)

func hello(ctx context.Context, w http.ResponseWriter, r *http.Request) {
        name := pat.Param(ctx, "name")
        fmt.Fprintf(w, "Hello, %s!", name)
}

func main() {
        mux := goji.NewMux()
        mux.HandleFuncC(pat.Get("/hello/:name"), hello)

        http.ListenAndServe("localhost:8000", mux)
}

官网 https://goji.io/ 22 作者以后完善这个版本 https://github.com/goji/goji 11

本文网址: https://golangnote.com/topic/112.html (转载注明出处)
关于GolangNote:记录在工作中使用golang 遇到、面临的相关问题及解决方法。如果你在这里获得一些知识或信息,解决你的编程问题,请考虑捐赠给不幸的人或者你喜欢的慈善机构,除捐赠外,种植树木、志愿服务或减少排碳的行为也很有益处。如果你有任何问题可以在下面 留言
Be the first to comment!
Captcha image
Relative Articles