nexframe

module
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Aug 12, 2024 License: MIT

README

NexFrame

NexFrame是一款基于 Go 语言开发的企业级应用开发框架,旨在为开发者提供高效、可靠、可扩展的应用开发框架。该框架集成了 serviceweaverGORMgorilla/mux 等业界领先的开源库,并参考 GoFrame 框架在 API 定义和自动绑定控制器方面的优秀设计,打造了一套功能强大、易于使用的开发解决方案。

API核心处理框架说明

实现自定义API框架与静态文件处理 实现了一个灵活、可扩展的API框架,集成了静态文件处理、中间件支持和Swagger文档生成功能。主要特性包括:

  1. 核心框架结构(APIFramework):

    • 支持动态注册控制器和API路由
    • 集成Swagger规范生成
    • 灵活的中间件系统
  2. 静态文件处理:

    • 实现了自定义StaticHandler,支持多种文件系统(fs.FS接口)
    • 支持设置静态目录(SetStaticDir)和Web根目录(SetWebRoot)
  3. 中间件支持:

    • 使用WithMiddleware方法添加全局中间件
    • 支持多个中间件的链式调用
  4. API注册和路由:

    • 自动发现和注册API(discoverAPIs方法)
    • 支持路由前缀设置
  5. Swagger集成:

    • 自动生成Swagger JSON规范
    • 提供Swagger UI访问路由
  6. 灵活的配置:

    • 支持自定义文件系统(SetFileSystem方法)
    • 链式调用API,提高代码可读性

核心特性

  • 微服务架构: 通过 serviceweaver 提供强大的微服务能力,支持服务注册、发现、负载均衡等功能,帮助开发者构建灵活、可伸缩的分布式系统。
  • ORM 支持: 集成 GORM ORM 框架,简化数据库操作,提供丰富的功能,如结构映射、查询构建、关联关系等,提升开发效率。
  • 高性能路由: 使用 gorilla/mux 构建高性能的 HTTP 路由系统,支持 URL 参数、正则表达式匹配等功能,灵活配置路由规则。
  • API 自动绑定: 借鉴 GoFrame 的设计理念,实现 API 定义与控制器自动绑定,简化 API 开发流程,提高开发效率。
  • OpenAPI 文档自动生成: 支持自动生成 OpenAPI 规范文档,方便 API 的调试和集成。
  • 模块化设计: 采用模块化设计,各模块之间耦合度低,易于扩展和维护。
  • 丰富的中间件: 提供丰富的中间件,如日志记录、错误处理、权限验证等,方便开发者定制化开发。
  • 强大的工具集: 提供一系列开发工具,如代码生成、测试框架等,提升开发效率。

优势

  • 高性能: 基于 Go 语言的高并发特性,以及 serviceweavergorilla/mux 等高性能库,保证了框架的高性能。
  • 易用性: 提供简洁易用的 API,降低开发门槛,提高开发效率。
  • 可扩展性: 采用模块化设计,易于扩展和定制。
  • 可靠性: 经过大量测试和验证,保证了框架的稳定性和可靠性。

适用场景

  • 微服务架构: 适用于构建大型、复杂的微服务系统。
  • 企业级应用: 适用于开发企业级的后台管理系统、业务系统等。

Directories

Path Synopsis
example command
Package command provides console operations, like options/arguments reading.
Package command provides console operations, like options/arguments reading.
encoding
Package errors provides functionalities to manipulate errors for internal usage purpose.
Package errors provides functionalities to manipulate errors for internal usage purpose.
gcode
Package gcode provides universal error code definition and common error codes implements.
Package gcode provides universal error code definition and common error codes implements.
gerror
Package gerror provides rich functionalities to manipulate errors.
Package gerror provides rich functionalities to manipulate errors.
Package gstructs provides functions for struct information retrieving.
Package gstructs provides functions for struct information retrieving.
Package i18n 提供了一个简单的国际化(i18n)支持库
Package i18n 提供了一个简单的国际化(i18n)支持库
examples command
nf
g
example command
empty
Package empty provides functions for checking empty/nil variables.
Package empty provides functions for checking empty/nil variables.
ratelimit
Package ratelimit 提供了一个灵活的令牌桶实现,用于速率限制。
Package ratelimit 提供了一个灵活的令牌桶实现,用于速率限制。
reflection
Package reflection provides some reflection functions for internal usage.
Package reflection provides some reflection functions for internal usage.
rwmutex
Package rwmutex provides switch of concurrent safety feature for sync.RWMutex.
Package rwmutex provides switch of concurrent safety feature for sync.RWMutex.
tag
Package gtag providing tag content storing for struct.
Package gtag providing tag content storing for struct.
weaver
examples command

Jump to

Keyboard shortcuts

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