aurora

package module
v1.3.3 Latest Latest
Warning

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

Go to latest
Published: Oct 30, 2022 License: Apache-2.0 Imports: 17 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.19

快速开始

导入

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

联系: [email protected]

致谢


感谢 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 NewRoute added in v1.3.1

func NewRoute(engine *Engine) *route.Router

NewRoute 创建并初始化 Router

func Run

func Run(app Application) 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 Engine added in v1.1.1

type Engine struct {
	// 日志
	web.Log
	// 文件上传大小配置
	MaxMultipartMemory int64
	// contains filtered or unexported fields
}

func New added in v1.1.1

func New(option ...Option) *Engine

func NewEngine added in v1.3.1

func NewEngine() *Engine

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

func (*Engine) Delete added in v1.1.1

func (engine *Engine) Delete(url string, control any, middleware ...web.Middleware)

Delete 请求

func (*Engine) Get added in v1.1.1

func (engine *Engine) Get(url string, control any, middleware ...web.Middleware)

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, middleware ...web.Middleware) *Group

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

func (*Engine) Head added in v1.1.1

func (engine *Engine) Head(url string, control any, middleware ...web.Middleware)

Head 请求

func (*Engine) Post added in v1.1.1

func (engine *Engine) Post(url string, control any, middleware ...web.Middleware)

Post 请求

func (*Engine) Put added in v1.1.1

func (engine *Engine) Put(url string, control any, middleware ...web.Middleware)

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) Verify added in v1.3.3

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

Verify 参数验证器

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, middleware ...web.Middleware)

Delete 请求

func (*Group) Get

func (g *Group) Get(url string, control any, middleware ...web.Middleware)

Get 请求

func (*Group) Group

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

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

func (*Group) Head

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

Head 请求

func (*Group) Post

func (g *Group) Post(url string, control any, middleware ...web.Middleware)

Post 请求

func (*Group) Put

func (g *Group) Put(url string, control any, middleware ...web.Middleware)

Put 请求

func (*Group) Use

func (g *Group) Use(middleware ...web.Middleware)

Use 基于 group 的分组添加 Middleware

type Option

type Option func(*Engine)

func Config

func Config(config web.Config) Option

func ConfigFile

func ConfigFile(configPath string) Option

ConfigFile 指定Aurora加载配置文件

func Debug

func Debug() Option

Debug 开启debug日志

Jump to

Keyboard shortcuts

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