golang——Martini框架的基本使用方法

Martini

Martini是一个强大的为了编写模块化Web应用而生的GO语言框架,其中集成了大量的Web工具包,极大地方便了开发者的使用,让代码更加简洁清晰,提高开发效率。

简单应用

使用前需要先安装martini包

go get github.com/go-martini/martini

安装完成后即可使用,我们先来看一份简单的代码帮助理解框架。

package main

import "github.com/go-martini/martini"

func main() {
     
  m := martini.Classic()
  m.Get("/", func() string {
     
    return "Hello world!"
  })
  m.Run()
}

核心 Martini

为了更快速的启用Martini, 提供了martini.Classic() 方法来把一些基本操作一步到位,这种封装避免了每次使用时的繁琐编程,简化了开发流程。

  m := martini.Classic()
  // ... middleware and routing goes here
  m.Run()

处理器

用于处理事件,比如Get处理的就是http的request请求,在func中写入处理方法

m.Get("/", func() {
     
  println("hello world")
})

运行

运行上述代码

go run main.go

执行后便启动了一个本地服务器,默认监听端口为: localhost:3000.
当然,也可以自己设定端口

  m := martini.Classic()
  // ...
  m.RunOnAddr(":8080")

框架的优点

  • 使用极其简单.
  • 无侵入式的设计.
  • 很好的与其他的Go语言包协同使用.
  • 超赞的路径匹配和路由.
  • 模块化的设计 - 容易插入功能件,也容易将其拔出来.
  • 已有很多的中间件可以直接使用.
  • 框架内已拥有很好的开箱即用的功能支持.
  • 完全兼容http.HandlerFunc接口.

常用中间件

  • acceptlang - 解析Accept-Language HTTP报头的处理器。
  • accessflags - 启用访问控制处理器.
  • auth - 认证处理器。
  • binding - 映射/验证raw请求到结构体(structure)里的处理器。
  • cors - 提供支持 CORS 的处理器。
  • csrf - 为应用提供CSRF防护。
  • encoder - 提供用于多种格式的数据渲染或内容协商的编码服务。
  • gzip - 通过giz方式压缩请求信息的处理器。
  • gorelic - NewRelic 中间件
  • logstasher - logstash日志兼容JSON中间件
  • method - 通过请求头或表单域覆盖HTTP方法。
  • oauth2 - 基于 OAuth 2.0 的应用登录处理器。支持谷歌、Facebook和Github的登录。
  • permissions2 - 跟踪用户,登录状态和权限控制器
  • render - 渲染JSON和HTML模板的处理器。
  • secure - 提供一些安全方面的速效方案。
  • sessions - 提供Session服务支持的处理器。
  • sessionauth - 提供简单的方式使得路由需要登录, 并在Session中处理用户登录
  • strip - 用于过滤指定的URL前缀。
  • strip - URL前缀剥离。
  • staticbin - 从二进制数据中提供静态文件服务的处理器。
  • throttle - 请求速率调节中间件.
  • vauth - 负责webhook认证的处理器(目前支持GitHub和TravisCI)。
  • web - hoisie web.go’s Context

你可能感兴趣的:(golang——Martini框架的基本使用方法)