Skip to content
/ zgin Public

ZGin is a API framework written in Go (Golang). An MVCS, Restful, and version control framework based on the Gin framework. If you need performance and good productivity, you will love ZGin.

License

Notifications You must be signed in to change notification settings

ZYallers/zgin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

zgin

Go Report Card MIT license Build Status Foundation GoDoc Sourcegraph Release TODOs goproxy.cn

Zgin is a API framework written in Go (Golang). An MVCS, Restful, and version control framework based on the Gin framework. If you need performance and good productivity, you will love zgin.

Installation

To install zgin package, you need to install Go and set your Go workspace first.

  1. The first need Go installed (version 1.11+ is required), then you can use the below Go command to install zgin.
$ go get -u github.com/ZYallers/zgin
  1. Import it in your code:
import "github.com/ZYallers/zgin" 

Quick start

package main

import (
	"fmt"
	"github.com/ZYallers/zgin"
	"github.com/ZYallers/zgin/consts"
	"github.com/ZYallers/zgin/example/route"
	"github.com/ZYallers/zgin/handler"
	"github.com/ZYallers/zgin/helper/config"
	"github.com/ZYallers/zgin/middleware"
	"github.com/ZYallers/zgin/option"
	"github.com/gin-gonic/gin"
)

func main() {
	gin.DisableConsoleColor()
	gin.DebugPrintRouteFunc = func(httpMethod, absolutePath, handlerName string, nuHandlers int) {}
	if err := config.ReadFile(); err != nil {
		panic(fmt.Errorf("read config file error: %s", err))
	}
	app := zgin.New(
		option.WithMode(consts.DevMode),
	)
	app.Run(
		handler.WithNoRoute(),
		handler.WithHealth(),
		middleware.WithZapRecovery(),
		middleware.WithZapLogger(),
		handler.WithExpVar(),
		handler.WithPrometheus(),
		handler.WithSwagger(),
		handler.WithPProf(),
		middleware.WithRestCheck(route.Restful),
	)
}

run main.go and visit http://0.0.0.0:9010/health (for windows "http://localhost:8080/health") on browser

$ go run main.go

Zgin v1.stable

  • MVCS four-tier architecture support
  • Restful interface style support
  • API version control and permission custom configuration
  • PProf middleware support
  • Prometheus middleware support
  • Swagger api docs middleware support
  • Graceful server shutdown and reload

Build with jsoniter

Zgin uses encoding/json as default json package but you can change to jsoniter by build from other tags.

$ go build -tags=jsoniter .

License

Released under the MIT License

About

ZGin is a API framework written in Go (Golang). An MVCS, Restful, and version control framework based on the Gin framework. If you need performance and good productivity, you will love ZGin.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published