软件介绍:

Magic是一个CRUD后端生成器,内置于ASP.NET内核中。它的目的是让你“神奇地”做一些无聊的事情,通过使用自动化技术,创建80%的CRUD端点,自动包装MySQL或MS SQL Server数据库,同时你可以专注于有趣的事情。

一、参考文档

1、适合 ASP.NET Core 的超级-DRY开发

2、Magic 官网:https://polterguy.github.io/getting-started/

二、实现步骤:

Getting started

To get started with Magic you’ll need the following installed.

  1. MySQL or Microsoft SQL Server.

  2. Visual Studio Code, or Visual Studio if you’re on Windows

  3. NodeJS - To serve the frontend/dashboard

  4. Angular, which is installed using npm install -g @angular/cli after installing NodeJS

  5. DotNet CLI - Unless you’re using Visual Studio on Windows

List of what to do

  1. Open Visual Studio Code in your magic folder

  2. Edit your appsettings.json file, and modify your MySQL and/or MSSQL connection strings

  3. Open one terminal window and go to magic.backend

  4. Run dotnet run in the magic.backend terminal

  5. Open another terminal window and go to frontend

  6. Run npm install in this terminal

  7. When npm install from above is done, run ng serve in the frontend terminal

  8. Open your browser and point it to http://localhost:4200

Creating your first CRUD Web API

  1. Login with “root/root” as your username/password

  2. Click the “Crudify” menu item

  3. Choose your database and your table

  4. Click the “Crudify” button

When you have created your first CRUD endpoints, you can click the “Endpoints” menu item, and try out your newly created HTTP REST endpoints.

如果你在一家咨询公司工作,可能每年都会启动几个具有类似需求类型的新项目,其中需要解决每个新项目的共性。了解了客户端需求和一些初始实现之后,便可以使用超级 DRY 方法在几秒钟内完成整个项目。当然,通过标识常见模块(如身份验证和授权),可以进一步重用项目中的元素组合。通过在常见 Web API 项目中实现这些模块,可以将它们应用到任何新项目中,这些新项目会带来与你以前看到过的类似的问题。

为了方便记录,此操作听起来很简单,但事实上避免重复很难。它需要反复重构的意愿。完成重构时,还需要进一步进行重构。但好处是不容忽视的。DRY 原则可以让你近乎魔术般地创建代码,只需挥动基架魔杖,并借用现有部件组合模块。

最后,这里阐述的原则可以帮助你利用现有最佳做法创建自己的 Web API,同时避免重复。这种方法可以带来很多好处,希望它可以帮助你领会到 DRY 的美妙之处。

尽管出于学术原因,Magic的大部分源代码都是公开的,但它并不是开源的或免费的软件,我们会对您要运行Magic的每个服务器/主机名/DNS记录收取费用。不过,在本地开发机器上评估和使用Magic是免费的。如果您想使用Magic创建免费的开源软件,我们还可以给您一个免费的许可证密钥。请在此处或随附的许可证文件中阅读更多信息。

【Netcore】使用 Magic生成器 ,零代码实现CRUD - HTTP REST 之接口的更多相关文章

  1. crudapi零代码开发平台应用场景和成功案例

    应用场景 在前面文章中,已经介绍了crudapi主要功能和使用方式,本文主要介绍crudapi应用场景以及具体的使用方式. 概要 crudapi属于产品级的零代码平台,无需编程,通过配置自动生成cru ...

  2. MySql数据库列表数据分页查询、全文检索API零代码实现

    数据条件查询和分页 前面文档主要介绍了元数据配置,包括表单定义和表关系管理,以及表单数据的录入,本文主要介绍数据查询和分页在crudapi中的实现. 概要 数据查询API 数据查询主要是指按照输入条件 ...

  3. 订单和产品的多对多表关系在crudapi系统零代码实现

    表关系管理 在上一篇序列号管理中,产品和销售订单都是孤立的单表,本文通过crudapi中表关系(relation)管理将多个表连接起来,形成一个整体. 概要 关系类型 表与表之间的关系(relatio ...

  4. 通过序列号Sequence零代码实现订单流水号

    序列号管理 本文通过产品编码和订单流水号介绍一下序列号(Sequence)在crudapi中的应用. 概要 序列号 MySQL数据库没有单独的Sequence,只支持自增长(increment)主键, ...

  5. 零代码第一步,做个添加数据的服务先。node.js + mysql

    node.js + mysql 实现数据添加的功能.万事基于服务! 增删改查之添加数据. 优点:只需要设置一个json文件,就可以实现基本的添加功能,可以视为是零代码. 添加数据的服务实现的功能: 1 ...

  6. "零代码”开发B/S企业管理软件之一 :怎么创建数据库表

    声明:该软件为本人原创作品,多年来一直在使用该软件做项目,软件本身也一直在改善,在增加新的功能.但一个人总是会有很多考虑不周全的地方,希望能找到做同类软件的同行一起探讨. 本人文笔不行,能把意思表达清 ...

  7. Excel催化剂开源第42波-与金融大数据TuShare对接实现零门槛零代码获取数据

    在金融大数据功能中,使用了TuShare的数据接口,其所有接口都采用WebAPI的方式提供,本来还在纠结着应该搬那些数据接口给用户使用,后来发现,所有数据接口都有其通用性,结合Excel灵活友好的输入 ...

  8. 个人永久性免费-Excel催化剂功能第98波-零代码零距离轻松接触并拥有金融大数据

    数据产生价值的一个最突出的领域-金融领域,股票.证券.上市公司财务报表等,多少人在其中发掘出宝贵的数据价值.今天Excel催化剂联合Tushare金融大数据平台,让这一切的数据都能成为你我普通人零代码 ...

  9. Spring Cloud Alibaba迁移指南(二):零代码替换 Eureka

    自 Spring Cloud 官方宣布 Spring Cloud Netflix 进入维护状态后,我们开始制作<Spring Cloud Alibaba迁移指南>系列文章,向开发者提供更多 ...

随机推荐

  1. Jquery实现左右轮播效果

    首先展示下静态布局h5代码,代码非常简单. <div id="slide"> <ul class="pic-list"> <li& ...

  2. python高级编程——网络编程(二)

    UDP 概念和介绍 UDP --- 用户数据报协议,是一个无连接的简单的面向数据报的运输层协议. UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并 不能保证它们能到达目的地. U ...

  3. 【转载】c# datatable 判断值是否存在

    在C#的数据表格DataTable操作过程中,有时候在操作DataTable前需要判断DataTable中的值是否存在,此时首选需要判断DataTable是否为null值,而后在判断DataTable ...

  4. Java 之 JDK 1.8 新增日期时间类型

    一.原来的日期时间 Java1.0中包含了一个Date类,但是它的大多数方法已经在Java 1.1引入Calendar类之后被弃用了.而Calendar并不比Date好多少.它们面临的问题是: ① 可 ...

  5. android studio学习---签名打包的两种方式

    注:给我们自己开发的app签名,就代表着我自己的版权,以后要进行升级,也必须要使用相同的签名才行.签名就代表着自己的身份(即keystore),多个app可以使用同一个签名. 如果不知道签名是啥意思, ...

  6. win10自带截屏操作

    1.win+shift+S,自由截屏 2.win+W,截屏后编辑 3.alt+PrtSc,截取当前活动界面,鼠标在微信就是微信,在浏览器就是浏览器.在桌面就是所有界面. 4.PrtScn,截取所有屏幕 ...

  7. 0x02 Python logging模块利用配置加载logger

    目录 logging模块利用配置加载logger 方式一模板:logging.config.dictConfig(config_dict) logging模块利用配置加载logger logging. ...

  8. Flask拾遗总汇1

    目录 1.flask的路由分发方式 2.请求响应相关 3.flask配置文件拾遗(config) 4.路由系统参数配置 4.1 可传入参数: 4.2 常用路由系统有以上五 5.反向生成URL: url ...

  9. The Preliminary Contest for ICPC Asia Xuzhou 2019 E. XKC's basketball team

    题目链接:https://nanti.jisuanke.com/t/41387 思路:我们需要从后往前维护一个递增的序列. 因为:我们要的是wi + m <= wj,j要取最大,即离i最远的那个 ...

  10. 绘制指引线的JS库leader-line

    前言 之前看到一篇推荐Magi这个搜索引擎的新闻,对于这个搜索引擎是否好用咱们不予置评,但是我在这个搜索引擎上面发现了一个好玩的前端功能. 如上图,将鼠标浮动到学习来源上时,会展示一堆指引线. 本博客 ...