IRIS MVC中如何使用中间件

目录结构

主目录middleware

  1. —— main.go

代码示例

main.go

  1. //main包显示了如何将中间件添加到mvc应用程序中
  2. //使用它的`Router`,它是主iris app的子路由器(iris.Party)。
  3. package main
  4. import (
  5. "time"
  6. "github.com/kataras/iris"
  7. "github.com/kataras/iris/cache"
  8. "github.com/kataras/iris/mvc"
  9. )
  10. var cacheHandler = cache.Handler(10 * time.Second)
  11. func main() {
  12. app := iris.New()
  13. mvc.Configure(app, configure)
  14. // http://localhost:8080
  15. // http://localhost:8080/other
  16. // //每10秒刷新一次,你会看到不同的时间输出。
  17. app.Run(iris.Addr(":8080"))
  18. }
  19. func configure(m *mvc.Application) {
  20. m.Router.Use(cacheHandler)
  21. m.Handle(&exampleController{
  22. timeFormat: "Mon, Jan 02 2006 15:04:05",
  23. })
  24. }
  25. type exampleController struct {
  26. timeFormat string
  27. }
  28. func (c *exampleController) Get() string {
  29. now := time.Now().Format(c.timeFormat)
  30. return "last time executed without cache: " + now
  31. }
  32. func (c *exampleController) GetOther() string {
  33. now := time.Now().Format(c.timeFormat)
  34. return "/other: " + now
  35. }