Router params

路由参数

Elton支持各种不同种类的路由参数配置形式,正则表达式或*等。需要注意的是,如果路由参数使用正则,在参数不匹配时是无法获取对应的路由,导致接口404。

package main

import (
	"github.com/vicanso/elton"
	"github.com/vicanso/elton/middleware"
)

func main() {
	e := elton.New()
	e.Use(middleware.NewDefaultResponder())
	fn := func(c *elton.Context) (err error) {
		c.Body = c.Params.ToMap()
		return
	}
	e.GET("/books/{bookID:^[1-9][0-9]{0,3}$}", fn)
	e.GET("/books/{bookID:^[1-9][0-9]{0,3}$}/detail", fn)
	e.GET("/books/summary/*", fn)
	e.GET("/books/trending/{year}/{month}/{day}", fn)
	err := e.ListenAndServe(":3000")
	if err != nil {
		panic(err)
	}
}

Last updated