REST-API

基于 go-restful 的 Restful 项目模板。「Restful project template based on go-restful」

Github星跟踪图

REST-API

REST-API adds a layer on top of go-restful to make it faster to get up and running. It uses some code from the excellent goji project and integrates a few other libraries to facilitate database access, logging, graceful shutdown etc...

Usage example


package main

import (
	"github.com/emicklei/go-restful"
	"github.com/jinzhu/gorm"
	"github.com/johnwilson/restapi"
	"github.com/johnwilson/restapi/plugins"
	"github.com/johnwilson/restapi/system"
)

type MainController struct {
	system.Controller
}

func (ct *MainController) Register(container *restful.Container) {
	ct.Controller.Register(container)

	ws := new(restful.WebService)
	ws.Route(ws.GET("/").To(ct.DBVersion))
	container.Add(ws)
}

func (ct *MainController) DBVersion(r *restful.Request, w *restful.Response) {
	orm := ct.GetPlugin("orm", r).(*gorm.DB)
	res := orm.Raw("SELECT sqlite_version();")
	var version string
	res.Row().Scan(&version)
	msg := map[string]string{"db": version}
	w.WriteJson(msg, "application/json")
}

func main() {
	app := restapi.NewApplication("config.toml")

	// plugins
	app.RegisterPlugin("orm", new(plugins.Gorm))

	ct := MainController{}
	ct.Register(app.Container)
	app.Start()
}

Code source and libraries

主要指标

概览
名称与所有者johnwilson/restapi
主编程语言JavaScript
编程语言Go (语言数: 4)
平台
许可证MIT License
所有者活动
创建于2015-08-03 12:06:18
推送于2015-09-27 20:12:45
最后一次提交2015-09-27 20:12:19
发布数0
用户参与
星数4
关注者数2
派生数1
提交数16
已启用问题?
问题数2
打开的问题数2
拉请求数0
打开的拉请求数0
关闭的拉请求数0
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?