Rezero — это .NET middleware, который позволяет выполнять CRUD операции без необходимости писать код. Он независим от существующего кода и может быть интегрирован в любой проект .NET API. Для пользователей, не использующих .NET, доступна готовая версия в виде исполняемого файла EXE.
https://www.donet5.com/Doc/32/2580
QQ группа: 472534707## 1.3 Примеры скриншотов
SQLite, MySQL, SQL Server, PostgreSQL, Oracle, Kunlun (по умолчанию), Dameng
Загрузите EXE и запустите его https://gitee.com/DotNetNext/ReZero/releases
Rezero.Api
Создайте новый проект .NET6+ Web API Необходимо добавить одну строку кода для использования Rezero API
/*** Это никак не влияет на существующий код ***/
// Регистрация: регистрация сервиса Super API
builder.Services.AddReZeroServices(api =>
{
// Активация Super API
api.EnableSuperApi(); // По умолчанию используется SQLite как база данных, есть перегрузки для конфигурации базы данных
});
// Добавьте перед вызовом builder.Build()
var app = builder.Build();
Запустив проект, вы можете сразу же получить доступ к адресу
http://localhost:5267/rezero
Откройте файл appsettings.json и настройте параметры JWT
Завершение входа в систему через интерфейс
## 4.5 Интеграция в свой системный проект
Добавьте
model=small
в URL, чтобы скрыть меню сверху и слева.
Если требуется поддержка CORS или порта, добавьте токен в URL, чтобы внутренние API также поддерживали авторизацию JWT.
Примерный результат отображается ниже.
## 4.6 Унифицированный возврат результатов
Если вам не нравится стандартный формат возврата, вы можете настроить свой собственный формат возврата.
//Регистрация ReZero.Api
builder.Services.AddReZeroServices(api =>
{
//Имеется перегрузка для замены JSON файла (остановите выполнение, чтобы проверить, есть ли входящие строки в apiObj.DatabaseOptions.ConnectionConfig)
var apiObj = SuperAPIOptions.GetOptions("rezero.json");
......
//Просмотр этой строки (не создавайте новый InterfaceOptions, так как это очистит все предыдущие конфигурации, лучше использовать apiObj.InterfaceOptions.xxx)
apiObj.InterfaceOptions.MergeDataToStandardDtoFunc = dto =>
{
if (dto is ErrorResponse error)
{
return new { isSuccess = false, data = error.Message };
}
else if (dto is bool b)
{
return new { isSuccess = b, data = b };
}
//Добавьте больше логики здесь, это просто пример
return new { isSuccess = true, data = dto };
};
//Активация супер-API
api.EnableSuperApi(apiObj);
});
//Регистрация ReZero.Api
builder.Services.AddReZeroServices(api =>
{
//Имеется перегрузка для замены JSON файла
var apiObj = SuperAPIOptions.GetOptions();
//Контейнер IoC для всех необходимых сборок
apiObj!.DependencyInjectionOptions = new DependencyInjectionOptions(assemblyList);
apiObj.InterfaceOptions.SuperApiAop = new MyAop(); //Настройка AOP
//Активация супер-API
api.EnableSuperApi(apiObj);
}
``````markdown
__);
//Создание собственного класса AOP
public class MyAop : DefaultSuperApiAop
{
public override async Task OnExecutingAsync(InterfaceContext context)
{
//Вы также можете использовать AOP для реализации авторизации JWT, не используя встроенную авторизацию JWT, что полезно при наличии уже существующего JWT
//Проверка JWT
//context.AttachClaimToHttpContext("Claim", 1);
await base.OnExecutingAsync(context);
}
}
Спасибо всем за поддержку, которая началась ещё до запуска проекта.
Работа очень трудоёмкая, функционал сложный, мы ориентируемся на платные программы, поэтому верим, что в будущем проект будет развиваться успешно.
Мы стремимся создать высококачественные бесплатные программы с использованием открытых источников.
https://www.donet5.com/Doc/32/2580
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )