out int total);}/// summary/// 定义好入参
标签:
Mario .NET Core简单快速开发框架Mario是一个基于.NET Core的简单快速开发框架
GitHub:https://github.com/deeround/Mario
技术特点基于.NET Core 2.2 集成常用三方组件
AutoMapper
FluentValidation
Newtonsoft.Json
NLog
Swashbuckle
撑持jwt认证、撑持API资源权限验证
撑持swagger中API分组显示
所有处事自动注入,无需手动注入
......
使用场景中小型项目有时候并不需要各类庞大的驱动设计,庞大的分层设计,只需简单业务逻辑开发。Mario框架就是为了简化我们开发,减少各类繁琐的配置注入,只需存眷于业务逻辑开发自己。
框架布局Mario.Core 底层核心库
Mario.Data 数据封装库
Mario.Mvc WebApi封装库
Mario.Web WebApi业务库
WangSql 数据底层库
业务模块开发 简单模块
当我们业务非常简单,我们连实体类都不写的应用场景,就是简单直接干,,只用写API,直接在控制器写业务就行了。
分为以下几步即可完成: 1、模块相关配置配置swagger信息,每个模块都是配置swagger信息(需要开启API分构成果)
配置数据库信息,可以配置多个多种数据库(撑持很大都据库的)
2、添加模块目录Test就是模块
Test\Controllers就是API,在控制器里面写业务逻辑就行了
Test\ApiModule.cs为模块启动初始化类,可以在里面写模块初始化逻辑
3、添加测试控制器在Test\Controllers下添加Test控制器
public class TestController : ApiController { /// <summary> /// 演示使用原始要领和扩展要领盘问数据 /// </summary> /// <returns></returns> [HttpGet()] public IList<Dictionary<string, object>> GetList() { return SqlMapper.Query<Dictionary<string, object>>("select * from T_SYS_USER", null).ToList(); //原始要领 //return SqlMapper.ListSod("select * from T_SYS_USER"); //扩展要领 } /// <summary> /// 分页盘问 /// </summary> /// <returns></returns> [HttpGet()] public PageData<StrObjDict> GetPage(string name) { string sql = "select * from T_SYS_USER where 1=1"; StrObjDict sod = new StrObjDict(); if (!string.IsNullOrEmpty(name)) { sql += $" and USERNAME like '%$USERNAME$%'"; sod.Add("USERNAME", name); } //排序设置 sql += $" order by USERNAME desc"; return SqlMapper.PageSod(sql, sod, 1, 20, out int total); } /// <summary> /// 界说好入参,但不界说出参格局 /// 便利扩展入参,也可使用swagger直接测试,但是前端无法通过swagger检察接口出参格局,只有请求后才知道出参格局 /// </summary> /// <param name="name"></param> /// <returns></returns> [HttpGet()] public IList<StrObjDict> GetByName(string name) { //return SqlMapper.ListSod("select * from T_SYS_USER where USERNAME=#USERNAME#", name); //写法1 return SqlMapper.ListSod("select * from T_SYS_USER where USERNAME=#USERNAME#", new StrObjDict() { { "USERNAME", name } }); //写法1 } /// <summary> /// 这个是上面要领另一种写法 /// 这种要领不固定入参,可随时添加删除入参,但是无法使用swagger直接测试,可使用postman等其他接口工具测试 /// 这种要领前端入参和出参都不知道格局,需要前后端提前约定好收支参 /// </summary> /// <returns></returns> [HttpGet()] public IList<StrObjDict> GetByNameNoParam() { var param = ApiContext.GetRequestParam(); string name = param.GetString("name"); //return SqlMapper.ListSod("select * from T_SYS_USER where USERNAME like '%$USERNAME$%'", name); //写法1 return SqlMapper.ListSod("select * from T_SYS_USER where USERNAME=#USERNAME#", new StrObjDict() { { "USERNAME", name } }); //写法1 } } 4、使用swagger测试API访谒 :4567/swagger/index.html
包罗dto和实体彼此转换、实体验证、登录验证、插手service层等
主要用于展示框架更多成果,实际上框架还有更多特性供探索。
具体代码请检察GitHub
GitHub & 说明GitHub link https://github.com/deeround/Mario
Mario框架仅仅供给给大家学习使用,此刻只有后端,暂无前端,后期可能考虑使用vue做个admin模板,目前还在完善中......
Mario是一个基于.NETCore的简单快速开发框架
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/30042.html