软件介绍:

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. 【译】使用WebDriver采样器将JMeter与Selenium集成

    原为地址:https://dev.to/raghwendrasonu/jmeter-integration-with-selenium-using-webdriver-sampler-176k 第一步 ...

  2. .htaccess文件配置理解

    0x00前言.htaccess文件是用于apache服务器下的控制文件访问的配置文件,因此Nginx下是不会生效的 .htaccess可以控制错误重定向,初始页面设置,文件夹的访问权限,文件的跳转等 ...

  3. android studio学习----Warning:Unable to find optional library: org.apache.http.legacy

    主要是没有  android-23的版本 1.导入工程以后 Error:Could not find com.Android.tools.build:gradle:1.3.1. Searched in ...

  4. 如何做一个跨平台的游戏App?

    如何做一个跨平台的游戏App? iOS和安卓系统上的应用程序,根据提供的内容不同,按照开发方式和用户体验不同,可区分为app和游戏: 首先从开发方式不同来说明,app开发一般是用操作系统官方提供的开发 ...

  5. There is already an open DataReader associated with this Command which must be closed first

    通常出现在嵌套查询数据库(比如在一个qry的遍历时,又进行了数据库查询) 通过在连接字符串中允许MARS可以轻松解决这个问题. 将MultipleActiveResultSets = true添加到连 ...

  6. lua 的匹配规则

    匹配规则 .(点): 与任何字符配对 %a: 与任何字母配对 %c: 与任何控制符配对(例如\n) %d: 与任何数字配对 %l: 与任何小写字母配对 %p: 与任何标点(punctuation)配对 ...

  7. 三、python对字符串和集合的内存垃圾回收机制

    变量声明: name1 = "andy" name2 = name1   这个时候我把name1的值给改成了“tom”,问现在name2的值是什么?为什么? 答:andy,因为你把 ...

  8. WebVTT字幕格式

    [时间:2019-05] [状态:Open] [关键词:字幕,vtt,webvtt, 文件格式,cue,css] 0 引言 WebVTT(Web Video Text Tracks),通过HTML5中 ...

  9. libass简明教程

    [时间:2019-05] [状态:Open] [关键词:字幕,libass,字幕渲染,ffmpeg, subtitles, video filter] 0 引言 libass库则是一个轻量级的对ASS ...

  10. 块 /宏块(MB)/片(Slice/片组/图像(picture) 对应关系

    根据包含关系从大到小顺序排列   序列(GOP)-> 帧(I/IDR/P/B)-> 片组 -> 片(slice)-> 宏块(Block)-> 块(Macro  Block ...