一飞开源
阅读546

[开源]MIT开源协议,一款免费的运行时界面创建API接口的项目

一飞开源,介绍创意、新奇、有趣、实用的开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!

一、开源项目简介

ReZero

全网唯一并且免费的运行时界面创建API接口的项目,并且生成接口文档,真正的运时行创建【 低代码 】【 线上建表 】【线上建接口】【线上生成接口文档】【线上测试接口】【 热插拔 】【 超级API 】【 云ORM框架 】【云API】【 zero 】

二、开源协议

使用MIT开源协议

三、界面展示

是一款.NET中间件,让你无需写任何代码也能实现CRUD,也可以发布成exe独立使用于非.NET用户 创建接口

图片

查看创建后的接口

图片

四、功能概述

在线数据库和表在线创建API接口 、接口文档和接口调试。

五、技术选型

1、非.NET用户教程

通过下载EXE运行。

2、.NET用户教程

2.1 Nuget安装

Rezero.Api

2.2 一行代码配置

新建一个.NET6+ WEB API 只需要注入一行代码就能使用 Rezero API

/***对现有代码没有任何影响***/

//注册:注册超级API服务
builder.Services.AddReZeroServices(api =>
{
    //启用超级API
    api.EnableSuperApi();//默认载体为sqlite ,有重载可以配置数据库

});
//写在builder.Build前面就行只需要一行
var app = builder.Build();

2.3 使用ReZero

启动项目直接访问地址就行了 http://localhost:5267/rezero

图片

2.4 jwt授权

//注册:注册超级API服务
builder.Services.AddReZeroServices(api =>
{
    //启用超级API
    api.EnableSuperApi(new SuperAPIOptions()
    {
        InterfaceOptions = new InterfaceOptions()
        {

            //AuthorizationLocalStorageName说明:
            //localStorage["jwt"]="token";
            //如果localStorage["jwt"]有token那么本地html页面下接口请求都会带上token
            //一般用于前端和后端不跨端口和域名的情况
            //如果跨端口或者域名看 【 4.5标题 】写法
            AuthorizationLocalStorageName = "jwt",

            //授权拦截器
            SuperApiAop = new JwtAop()
        }
    }); ;

});
public class JwtAop : DefaultSuperApiAop
{
    public async override Task OnExecutingAsync(InterfaceContext aopContext)
    {

         //注意:html页面的url里面加token=xxx可以让内部接口也支持jwt授权
         var authenticateResult = await aopContext.HttpContext.AuthenticateAsync(JwtBearerDefaults.AuthenticationScheme);
         if (!authenticateResult.Succeeded)
         {
             throw new Expception("Unauthorized");
         }
        await base.OnExecutingAsync(aopContext);
    }
    public async override Task OnExecutedAsync(InterfaceContext aopContext)
    {
        await base.OnExecutedAsync(aopContext);
    }
    public async override Task OnErrorAsync(InterfaceContext aopContext)
    {
        await base.OnErrorAsync(aopContext);
    }
}

2.5 集成到自已系统

只要在url加上model=small 就会隐藏头部菜单和左边的菜单

html页面的url里面加token=xxx可以让内部接口也支持jwt授权

图片

效果图如下

图片

六、源码地址

源码下载

关注下面的标签,发现更多相似文章

一飞开源
发布了 篇专栏 · 获取点赞 · 获取阅读

评论

查看更多
相关推荐
关于作者
一飞开源
获得点赞 100
文章被阅读 1000
相关文章