aurora

package module
v1.3.24 Latest Latest
Warning

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

Go to latest
Published: Aug 30, 2023 License: Apache-2.0 Imports: 22 Imported by: 4

README

Aurora Web Framework

logo
star Go Report Card License

Aurora 是用 Go(Golang) 编写的 Web 框架 ,将是 Golang 自诞生以来最好用的 Web 开发生产工具。为了打造更友好的Go Web开发环境,框架的项目结构和开发习惯借鉴了著名框架 GinSpring Boot 的开发设计,框架设计采用了 Gin 等 Go 框架的 HTTP 注册方式和责任链调用的中间件处理, 同时结合了 Spring Boot 框架的请求参数解析和响应方式 。 简单且强大的同时保障了代码结构的优雅。将是 Golang 自诞生以来最好用的 Web 开发生产工具, 项目托管平台已经转移到 Gitee, 交流群:836414068, 如果您觉得 aurora 不错,或者对您有帮助,请赏颗星吧!

Go 版本

go1.20

快速开始

导入

import (
    "gitee.com/aurora-engine/aurora"
)

创建一个结构体,嵌套一个匿名*aurora.Engine 实例 完成对服务器的创建

// Server 嵌套Aurora定义一个服务 实例
type Server struct {
    *aurora.Engine
}

实现 aurora.Application 接口中的两个方法,Server()Router()

func (server *Server) Server() {
	// 进行一下初始化操作,比如 控制器实例,全局中间件,全局变量,第三方依赖库等操作
}

func (server *Server) Router() {
	// 添加 app 路由
	server.Get("/", func() string {
		return "hello world"
	})
}

通过执行器启动web服务即可

err := aurora.Run(&Server{aurora.New(aurora.Debug())})
if err != nil {
	fmt.Println(err)
	return
}

文档

有关更多的使用操作请查看 最新在线文档

关于作者

作者: Awen

联系: zhiwen_der@qq.com

致谢


感谢 JetBrains 支持了该开源项目

版权信息

该项目签署了Apache授权许可,详情请参阅 LICENSE

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ErrorMsg added in v1.0.4

func ErrorMsg(err error, msg ...string)

func Log

func Log() web.Interceptor

func NewRoute added in v1.3.1

func NewRoute(engine *Engine) *route.Router

NewRoute 创建并初始化 Router

func Run

func Run(app Application, opt ...Option) error

Run 启动服务器,启动阶段自动注册当前服务实例

Types

type Application

type Application interface {
	// Use 加载配置
	Use(...interface{})

	// Server 服务器初始化
	// 依赖加载 等操作在这个函数中进行
	Server()

	// Router 路由加载函数
	Router()
	// contains filtered or unexported methods
}

Application Web 应用程序接口 通过嵌套匿名 *Engine 实例来完成web服务的构建

type DefaultLogger added in v1.3.17

type DefaultLogger struct {
}

func (*DefaultLogger) After added in v1.3.17

func (logger *DefaultLogger) After(ctx web.Context, handler any) error

func (*DefaultLogger) Before added in v1.3.17

func (logger *DefaultLogger) Before(ctx web.Context, handler any) (bool, error)

func (*DefaultLogger) Complete added in v1.3.17

func (logger *DefaultLogger) Complete(ctx web.Context, handler any) error

type Engine added in v1.1.1

type Engine struct {
	// 日志
	*zap.Logger

	Level string // 开发模式

	// 跨域工具
	Cors web.CorsHandle
	// 文件上传大小配置
	MaxMultipartMemory int64

	// 服务端口号
	Port string

	// 路由服务管理
	Route *route.Router

	validator.Validate
	// contains filtered or unexported fields
}

func New added in v1.1.1

func New(option ...Option) *Engine

New 创建 Aurora 实例 优先创建基础 Engine 实例 读取配置文件 创建路由 加载 Option 再次读取配置文件 Option 中可以进行任意的配置操作

func NewEngine added in v1.3.1

func NewEngine() *Engine

NewEngine 创建 Engine 基础配置 初始化默认端口号 创建 http 服务 初始化默认日志 初始化系统参数列表 加载配置文件

func (*Engine) Constraint added in v1.3.5

func (engine *Engine) Constraint(tag string, verify web.Verify)

Constraint 参数验证器

func (*Engine) Delete added in v1.1.1

func (engine *Engine) Delete(url string, control any, interceptor ...web.Interceptor)

Delete 请求

func (*Engine) Get added in v1.1.1

func (engine *Engine) Get(url string, control any, interceptor ...web.Interceptor)

Get 请求

func (*Engine) GetConfig added in v1.1.1

func (engine *Engine) GetConfig() web.Config

GetConfig 获取 Aurora 配置实例 对配置文件内容的读取都是协程安全的

func (*Engine) Group added in v1.1.1

func (engine *Engine) Group(url string, interceptor ...web.Interceptor) *Group

Group 路由分组 必须以 “/” 开头分组 Group 和 Aurora 都有 相同的 http 方法注册

func (*Engine) Head added in v1.1.1

func (engine *Engine) Head(url string, control any, interceptor ...web.Interceptor)

Head 请求

func (*Engine) Interceptors added in v1.3.17

func (engine *Engine) Interceptors(interceptor ...web.Interceptor)

Interceptors 注册全局拦截器

func (*Engine) Post added in v1.1.1

func (engine *Engine) Post(url string, control any, interceptor ...web.Interceptor)

Post 请求

func (*Engine) Put added in v1.1.1

func (engine *Engine) Put(url string, control any, interceptor ...web.Interceptor)

Put 请求

func (*Engine) Root added in v1.1.1

func (engine *Engine) Root() string

func (*Engine) Use added in v1.1.1

func (engine *Engine) Use(Configuration ...any)

Use 使用组件,把组件加载成为对应的配置

func (*Engine) Variate added in v1.3.1

func (engine *Engine) Variate(v any, value web.Variate)

Variate 向 Engine 中注册一个内部的系统变量, value将返回一个和v相同的类型,否则panic 提供自定义系统变量注册,参数列表中的自定义类型需要严格匹配

func (*Engine) ViewHandle added in v1.3.1

func (engine *Engine) ViewHandle(v web.ViewHandle)

ViewHandle 修改默认视图解析接口 Aurora 的路由树初始化默认使用的 Aurora 自己实现的视图解析 通过 该方法可以重新设置视图解析的逻辑处理,或者使用其他第三方的视图处理 现在的试图处理器处理方式比较局限,后续根据开发者需求进一步调整

type Group

type Group struct {
	// contains filtered or unexported fields
}

Group 路由分组 初始化的 分组变量不会携带全局的Use group 可以设定局部的全局Use

func (*Group) Delete

func (g *Group) Delete(url string, control any, interceptor ...web.Interceptor)

Delete 请求

func (*Group) Get

func (g *Group) Get(url string, control any, interceptor ...web.Interceptor)

Get 请求

func (*Group) Group

func (g *Group) Group(url string, middleware ...web.Interceptor) *Group

Group 路由分组 必须以 “/” 开头分组

func (*Group) Head

func (g *Group) Head(url string, control any, middleware ...web.Interceptor)

Head 请求

func (*Group) Interceptors added in v1.3.17

func (g *Group) Interceptors(interceptor ...web.Interceptor)

Interceptors 基于 group 的分组添加 Middleware

func (*Group) Post

func (g *Group) Post(url string, control any, interceptor ...web.Interceptor)

Post 请求

func (*Group) Put

func (g *Group) Put(url string, control any, interceptor ...web.Interceptor)

Put 请求

type Option

type Option func(*Engine)

func Config

func Config(config web.Config) Option

Config 指定 Aurora 的配置实例

func ConfigFilePath added in v1.3.9

func ConfigFilePath(configPath string) Option

ConfigFilePath 指定 Aurora 加载配置文件位置

func Level added in v1.3.17

func Level(L any) Option

Level 设置配置文件等级 仅仅适用于在本地调试运行期间通过本api能够快捷切换多种版本的配置文件 go build 推荐使用 embed 方式初始化配置 Level Config ConfigFilePath LoadConfig 之间的配置加载是有冲突的

func LoadConfig added in v1.3.9

func LoadConfig(cnf []byte) Option

LoadConfig 加载配置文件数据 该方法只适用于 本地配置文件 embed 方式加载配置文件数据,初始化配置实例还是默认的 如果想要 第三方数据源 请使用 Config 方法替换掉 默认的配置实例

func Logger added in v1.3.17

func Logger(log *zap.Logger) Option

Logger 配置日志实例

func MaxMultipartMemory added in v1.3.10

func MaxMultipartMemory(size int64) Option

MaxMultipartMemory 添加全局设置文件上传大小

func Static added in v1.3.9

func Static(fs embed.FS) Option

Static web 静态资源配置

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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