zgin

package module
v1.6.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 29, 2022 License: MIT Imports: 6 Imported by: 0

README

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func App added in v1.4.2

func App() *types.App

func New added in v1.4.2

func New(options ...option.App) *types.App

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL