Thanks to visit codestin.com
Credit goes to github.com

Skip to content

ZAnalyzers是一系列用于简化ASP.NET Core开发的代码生成器和分析器工具集。通过代码生成和静态分析技术,减少重复代码编写,提高开发效率。

License

fantasy-ke/ZAnalyzers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ZAnalyzers 项目套件

ZAnalyzers是一系列用于简化ASP.NET Core开发的代码生成器和分析器工具集。通过代码生成和静态分析技术,减少重复代码编写,提高开发效率。

子项目

基础核心库,提供套件中其他组件共用的基础类型和接口。

Minimal API的源代码生成器,用于自动生成API路由映射和依赖注入注册代码。通过继承FantasyApi基类和按照命名约定创建服务类,无需手动编写路由映射代码。

示例和测试项目,展示ZAnalyzers套件的各种功能和用法。包括自定义路由、授权、过滤器和API分组等功能演示。

快速入门

  1. 安装所需包:
dotnet add package ZAnalyzers.Core
dotnet add package ZAnalyzers.MinimalApiSG
  1. 创建API服务类:
using ZAnalyzers.Core;

namespace YourApp.Services
{
    public class ProductService : FantasyApi
    {
        public async Task<List<Product>> GetProducts()
        {
            // 实现逻辑
            return new List<Product>();
        }
        
        public async Task<Product> GetProduct(int id)
        {
            // 实现逻辑
            return new Product { Id = id };
        }
    }
}
  1. 在Program.cs中配置:
var builder = WebApplication.CreateBuilder(args);

// 注册服务
builder.Services.WithFantasyLife();

var app = builder.Build();

// 映射API路由
app.MapFantasyApi();

app.Run();

特性

  • 自动发现和注册API服务
  • 基于命名约定推断HTTP方法和路由
  • 支持授权、过滤器、API分组等
  • 自动处理接口与实现的依赖注入
  • 源代码生成,不引入运行时依赖

开发与发布

项目使用GitHub Actions自动化工作流进行NuGet包的发布。当推送新的版本标签(如:v1.0.0)时,工作流将自动构建、测试并发布包到NuGet.org。

详细说明请查看GitHub Actions使用说明

致谢

本项目参考并改造自FastService项目,根据自身业务需求进行了定制化开发。感谢FastService项目团队的开源贡献。

许可证

MIT

About

ZAnalyzers是一系列用于简化ASP.NET Core开发的代码生成器和分析器工具集。通过代码生成和静态分析技术,减少重复代码编写,提高开发效率。

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages