「免费开源」基于Vue和Quasar的前端SPA项目crudapi后台管理系统实战之动态表关系管理(六)

无需编程,基于PostgreSQL零代码生成CRUD增删改查RESTful API接口 无需编程,基于PostgreSQL零代码生成CRUD增删改查RESTful API接口采用抽象工厂设计模式,可以无缝切换不同类型的数据库,从crudapi 1.3.0版本开始,添加了对大象数据库PostgreSQL的支持。并且以学生对象为例,零代码实现了CRUD增删改查RESTful API,后续计划支持更多的数据库,比如Oracle,MSSQL Server,Mongodb等。 阅读详情

基于Vue和Quasar的前端SPA项目实战之表关系(六)

回顾

通过上一篇文章 基于Vue和Quasar的前端SPA项目实战之动态表单(五)的介绍,我们已经完成了元数据中动态表单设计功能,本文主要表关系功能的实现。

简介

在crudapi系统中,通过表关系(relation)管理将多个表连接起来,支持一对多,多对一,一对一,多对多等关系,
有关表关系基本概念参考之前文章 表关系 ,通过UI配置好表关系后,可以支持主子表的级联操作。

UI界面

表关系列表
表关系列表

编辑表关系
编辑表关系

表关系图
表关系图

API

表关系管理API
表关系API包括基本的CRUD操作,具体的通过swagger文档可以查看。通过axios封装api,名称为metadataRelation

import { axiosInstance } from "boot/axios";

const metadataRelation = {
  create: function(data) {
    return axiosInstance.post("/api/metadata/tablerelations",
       data
    );
  },
  update: function(id, data) {
    return axiosInstance.patch("/api/metadata/tablerelations/" + id,
       data
    );
  },
  list: function(page, rowsPerPage, search, query) {
    return axiosInstance.get("/api/metadata/tablerelations",
      {
        params: {
          offset: (page - 1) * rowsPerPage,
          limit: rowsPerPage,
          search: search,
          ...query
        }
      }
    );
  },
  count: function(search, query) {
    return axiosInstance.get("/api/metadata/tablerelations/count",
      {
        params: {
          search: search,
          ...query
        }
      }
    );
  },
  get: function(id) {
    return axiosInstance.get("/api/metadata/tablerelations/" + id,
      {
        params: {
        }
      }
    );
  },
  delete: function(id) {
    return axiosInstance.delete("/api/metadata/tablerelations/" + id);
  },
  batchDelete: function(ids) {
    return axiosInstance.delete("/api/metadata/tablerelations",
      {data: ids}
    );
  }
};

export { metadataRelation };

核心代码

q-select控件

表关系设计页面用到了q-select控件,支持选择4种基本类型:包括一对多OneToMany,多对一ManyToOne,一对一(主子)OneToOneMainToSub,一对一(子主)OneToOneSubToMain,通过多次组合实现了所有类型的表关系。

<q-select
  class="col-7"
  outlined
  v-model="metadataRelation.relationType"
  :options="relationTypeOptions"
  emit-value
  map-options
/>

relationTypeOptions: [
    {
      value: "OneToMany",
      label: "一对多"
    },
    {
      value: "ManyToOne",
      label: "多对一"
    },
    {
      value: "OneToOneMainToSub",
      label: "一对一(主子)"
    },
    {
      value: "OneToOneSubToMain",
      label: "一对一(子主)"
    }
  ]

表关系图

G6

采用蚂蚁集团的G6图可视化引擎,G6是一个简单、易用、完备的图可视化引擎,它在高定制能力的基础上,提供了一系列设计优雅、便于使用的图可视化解决方案。能帮助开发者搭建属于自己的图,图分析应用或是图编辑器应用。

package.json

添加@antv/g6依赖

"dependencies": {
  "@quasar/extras": "^1.0.0",
  "@antv/g6": "^3.3.6",
  "axios": "^0.18.1",
  "core-js": "^3.6.5",
  "quasar": "^1.0.0",
  "vue-i18n": "^8.0.0"
}

增删改查

通过列表页面,新建页面和编辑页面实现了表关系基本的crud操作,其中编辑和新建页面类似,表关系图可以看到所有表之间的关系,这样可以一目了然,更多内容参考源码即可。

小结

本文主要介绍了元数据中表关系管理功能,支持常见一对多,一对一,多对多等关系,并且通过G6图表库显示所有表的关系的图,到目前为止,元数据设计功能全部实现了,下一篇文章开始会介绍业务数据的crud功能。

demo演示

官网地址:https://crudapi.cn
测试地址:https://demo.crudapi.cn/crudapi/login

附源码地址

GitHub地址

https://github.com/crudapi/crudapi-admin-web

Gitee地址

https://gitee.com/crudapi/crudapi-admin-web

由于网络原因,GitHub可能速度慢,改成访问Gitee即可,代码同步更新。

CRUD API CRUD API是基于REST架构风格的接口,通过四种HTTP方法(POST/GET/PUT/DELETE)实现数据的增删改查操作。核心设计采用资源命名规范,如/users表示用户集合,/users/123表示特定用户。PUT用于完整更新,PATCH用于部分更新。最佳实践包括使用复数名词、正确状态码、查询参数过滤数据、API版本控制和安全性措施。示例展示了Node.js实现的Todo应用API,涵盖所有CRUD操作。这种标准化设计为前后端分离开发提供了可靠的数据交互方式。 阅读详情

相关推荐

快速构建数据库驱动的CRUD API:Flask-CRUD-API实战指南

Flask是一个轻量级的Python Web框架,它提供了基础的Web开发工具,让开发者能够轻松地构建Web应用和RESTful Web服务。其核心特性是灵活性高、扩展性强,通过插件系统可以很容易地添加新功能。对于请求和响应,Flask-Restful允许开发者自定义如何处理和返回数据。例如,可以通过继承来定义自己的post方法,并在其中实现对请求数据的解析和验证。在这个例子中,定义了一个接收POST请求的post方法,并使用reqparse来处理请求中的data参数。

weixin_36289813的博客 1047

推荐开源项目:轻量级CRUD API实现

推荐开源项目:轻量级CRUD API实现 去发现同类优质开源项目:https://gitcode.com/ 在当今快节奏的软件开发环境中,构建高效、可扩展的API是每个开发者的重要任务。今天,我们来探索一个精简版的RESTful JSON API——CRUD API,它为你的应用提供了一套简单而强大的创建、读取、更新和删除(CRUD)操作框架。 项目介绍 CRUD API是一个独立于路由器的Go语...

gitblog_00095的博客 479

Spring Boot CRUD API实战:spring-notes教程

本文还有配套的精品资源,点击获取 简介:Spring Boot是由Pivotal Team创建的简化Spring应用程序开发的框架,通过集成默认配置加快开发速度。本教程将演示如何使用Spring Boot结合Spring Data JPA和Hibernate等ORM工具实现基本的CRUD操作。教程涵盖从实体类定义到数据库连接配置,再到控制器API的创建和测试。此过程涉及到创...

weixin_34392511的博客 1096

第三章: Mybatis-Plus 的通用CRUD API 练习使用

通过前面两章的练习理解, 了解到自定义的接口通过继承 BaseMapper 就可以获取到各种各样的单表操作, 接下来就对这些常用的 API 做个练习使用。

随手记记,加深印象。 970

Laravel开发-crud-api

Laravel开发-crud-api 提供用于创建、编辑和删除模型的管理界面的Laravel包。

_api:_api是基于LowDB和ExpressJS构建的自动生成的CRUD API

_api 更新:从2019年8月19日起_api将不会被积极维护,我正在基于WebSocket的实现中,将来我可能会重写它,但我只是在我的工作/个人项目中不使用HTTP请求/响应还有。 这仍然有效,并且仍然运作良好。 目录 介绍 _api是基于和构建的自动生成的CRUD API。 您需要做的就是编辑配置文件,您将可以使用基本的CRUD API! 前言 _api出于好奇而出现。 重要的是要了解,但是_api不是为大型应用程序构建的,它的基础数据库层是基于纯JSON对象存储的,而用于解析的。 这并不意味着_api不值得花时间,我对_api看到的最大好处是概念和编写的代码都非常简单,从而简化了开发

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

应用场景 在前面文章中,已经介绍了crudapi主要功能和使用方式,本文主要介绍crudapi应用场景以及具体的使用方式。 概要 crudapi属于产品级的零代码平台,无需编程,通过配置自动生成crud增删改查RESTful API接口。基于主流的开源框架,拥有自主知识产权,支持二次开发。 表单对应不同的对象 表关系图显示不同对象之间的关系 业务数据操作 目标 利用crudapi可以提高效率和节约成本,避免重复劳动,让数据处理变得更简单。 解决的问题 在软件开发中,通常会处理很多对象,这些对象之间具有

crudapi的博客 873

crudapi.github.io:无需编程,通过配置自动生成crud增删改查RESTful API接口,免费使用零代码(低代码,无代码)开发平台可以提高效率和节约成本,让数据处理变得更简单

克鲁达皮 crudapi是crud + api组合,表示增删改查接口,是一种零代码可配置的产品。无需编程,通过配置自动生成crud增删改改查RESTful API,提供后台UI管理业务数据。基于主流的开源框架,拥有自主知识产权,支持二次开发。 元数据管理 支持各种类型的细分,序列号以及索引。 表关系 表关系设计,支持一对一,一对多,多对一,主子表等,支持级联保存。 业务数据 列表查询,支持分页,查询,全文检索等功能,添加数据,编辑数据,删除数据。 附demo演示 本系统属于产品级的零代码平台,无需自动代码生成器,不需要生成Controller,Service,Repository,Entity等业务代码,程序运行就可以使用,真正的0代码,可以覆盖基本的和业务无关的CRUD RESTful API。 官网地址: : 测试地址: : 目录

CRUDAPI:构建后台管理的高效解决方案

CRUDAPI:构建后台管理的高效解决方案 crudapi-admin-webcrudapi增删改查接口零代码后台管理页面,一键快速CRUD。框架采用Vue,控件库为Quasar, 形式为SPA单页面应用。 主要知识点:Vue基本知识,自定义组件,axios网络请求,Vuex状态管理,Router路由,本地存储LocalStorage、Session、Cookie,登录,本地调试,docker打...

gitblog_00045的博客 373

quasar-ui-easy-forms:Quasar 扩展,只需定义“模式”对象即可轻松生成表单

类星体简易表格 :postbox: 新版本: 闪电战发布! :party_popper: Quasar Easy Forms & Tables 升级为更强大! 新版本叫做Blitzar 请参阅此处的博客文章: : 请参阅此处的文档: : 请参阅此处的升级指南: : 支持 如果这对您有任何帮助,您可以通过支持我来为包裹的长期生存做出贡献: 请务必查看我的赞助商页面,我有很多可能对您有所帮助的开源软件包! (GitHub 目前将您的支持加倍!所以如果您以 10 美元/月的价格支持我,我将改为 20 美元!他们是炼金术士 :mechanical_arm: :winking_face: ) 非常感谢!!! 执照 麻省理工学院(c)卢卡·班-梅斯克

Trae CN 使用入门指南

【代码】Trae CN 使用入门指南。

weixin_42551921的博客 8775

基于多数据源零代码同时生成多个数据库CRUD增删改查RESTful API接口——MySql,PostgreSql,Oracle,Microsoft SQL Server

利用springboot多数据源功能,可以同时支持不同类型数据库mysql,oracle,postsql,sqlserver等,以及相同类型数据库不同的schema。零代码同时生成不同类型数据库增删改查RESTfulapi,且支持同一接口中跨库数据访问二次开发。本文主要介绍了多数据源功能,在同一个Java程序中,通过多数据源功能,不需要一行代码,我们就可以得到不同数据库的基本crud功能,包括API和UI。 ...

crudapi的博客 1086

RK3588上跑通Zipformer语音识别的3个坑与填坑实录(附完整编译命令)

本文详细记录了在RK3588开发板上部署Zipformer语音识别模型时遇到的三个典型问题及其解决方案,包括静态库版本冲突、编译脚本配置错误以及模型转换精度调优。文章提供了完整的编译命令和实战步骤,帮助开发者快速在边缘设备上实现高效的语音识别应用。

l6m7n8的博客 716

推荐使用:API Platform Create Client - 快速构建CRUD应用的利器!

推荐使用:API Platform Create Client - 快速构建CRUD应用的利器! 在开发Web或移动应用时,与后端API的交互是一个基础且重要的环节。为此,我们很高兴向您推荐一个强大的开源工具——API Platform Create Client,它可以帮助您快速生成具备创建、读取、更新和删除(CRUD)功能的应用客户端。 1. 项目介绍 API Platform Create ...

gitblog_00065的博客 435

Visio 2013 Professional密钥安装激活全攻略:版本匹配与故障排查

产品密钥是软件授权体系中的核心凭证,用于验证用户对软件的使用权限。在微软Office产品线中,Visio 2013 Professional采用25位字符的密钥机制,通过联网或电话方式完成激活。正确使用密钥不仅能确保软件功能完整,还能避免因授权问题导致的工作中断。对于企业IT运维和个人用户而言,掌握密钥类型辨析、安装包匹配规则以及激活失败排查方法,是保障老版本软件稳定运行的关键。本文围绕Visio 2013 Professional,详细讲解密钥输入、激活流程及常见错误代码处理,帮助读者高效完成部署与维护。

weixin_28487433的博客 364

Drools vs URule:5个真实项目场景告诉你如何选择开源规则引擎

本文通过电商风控、物流计费、会员体系、保险定价和物联网告警五个真实项目场景,深度对比了Drools与URule两款开源规则引擎。分析了两者在规则复杂度、性能表现、开发运维及适用场景上的核心差异,为技术选型提供基于实战的决策指南。

k6l7m8n9的博客 945

「免费开源」基于Vue和Quasar的前端SPA项目crudapi后台管理系统实战之文件上传(十)

基于Vue和Quasar的前端SPA项目实战之文件上传(十) 回顾 通过之前一篇文章 基于Vue和Quasar的前端SPA项目实战之数据导入(九)的介绍,实现了业务数据批量导入功能,本文主要介绍文件上传相关内容。 简介 crudapi支持附件字段,表字段里面保存的是文件url字符串。附件可以通过其它文件管理系统比如阿里云的OSS进行上传,或者使用系统自带的文件管理API进行上传,包括普通文件上传和大文件切片上传两种方式。 UI界面 文件上传 大文件上传 API 文件上传API,包括普通文件上传和大文件

crudapi的博客 472

迈创cameralink采集卡安装操作说明

迈创cameralink采集卡安装操作说明MIL软件安装MIL软件下载获取MIL软件安装MIL软件安装常见问题 MIL软件安装 MIL软件下载获取 MIL软件安装 解压MIL安装包,点击MilSetup.exe开始安装,如下图所示; 备注:64位系统MIL软件可以同时安装32位和64位客户端,本文档默认安装64位客户端,64位系统安装32位MIL方法后续再展开讲(不建议这样用,很麻烦) 点击Launch Installation开始安装,64位系统,默认只安装64位MIL客户端 根据采集卡驱动,选择M

qq_23107577的博客 9356

Apache-DBUtils实现CRUD操作,已封装的API实现jdbc对数据库进行操作

commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能。

叶绿体不忘呼吸 757

Python爬虫实战:用Playwright+Transformer做财经新闻事件驱动分析,我靠它抓住了算力政策的涨停机会

对我来说,这套系统最大的价值不是抓住了几次涨停,而是把“看新闻→分析→决策”的全流程自动化、量化了——不用再被股吧的情绪带偏,不用再熬夜刷新闻,而是用数据和模型做理性判断。更重要的是,搭建这套系统的过程,我吃透了Playwright动态爬虫、Transformer文本分析、量化数据对接这些核心技能,这些技能不管是做量化、做数据分析师,还是做其他领域的爬虫,都能用得上。现在打开PyCharm,跟着代码跑一遍,你也能从海量财经新闻里,挖出属于自己的事件驱动信号——与其靠感觉炒股,不如靠数据说话。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1394

05 - GRACE数据处理-球谐展开与球谐综合

GRACE数据处理-球谐展开和综合前面在介绍GRACE相关理论的时候提到过下面的公式,从公式形式上可以看出,面密度变化和球谐系数(CS)之间是能够相互转换的,那这个转化的过程可以称为球谐展开,简单理解就是将全球网格数据转化为球谐系数的过程。而球谐综合可以看作是球谐展开的逆过程,利用球谐系数计算到全球格网分布。

weixin_43339605的博客 1050

在现代 Web 开发中,API 是实现 CRUD 操作的一种常见方式,因为API提供了远程访问和操作数据的接口

CRUD 操作可以通过 API 来实现,但 API 类通常不会直接继承 CRUD 类。相反,API 类通过依赖注入或组合的方式使用 CRUD 类,从而实现对数据的创建、读取、更新和删除操作。这种设计模式可以提高代码的可维护性和复用性,同时将数据访问逻辑与业务逻辑分离。

xuukai的博客 258

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

手写java通用curd_你还在手写crud吗,看完这篇文章,绝对赚了

一、介绍我记得最早刚步入互联网行业的时候,当时按照 MVC 的思想和模型,每次开发新功能,会依次编写 dao、service、controller相关服务类,包括对应的 dto、entity、vo 等等实体类,如果有多张单表,也会重复的编写相似的代码,现在回想起来,感觉当时自己好像处于石器时代!实际上,当仔细的总结一下,对于任何一张单表的操作,基本都是围绕增(Create )、删(Delete )...

weixin_42509796的博客 735

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

【亲测免费】 开源宝藏:FastAPI Quick CRUD —— 极速构建RESTful API

开源宝藏:FastAPI Quick CRUD —— 极速构建RESTful API 随着微服务架构和云原生应用的兴起,高效开发API成为现代软件开发的关键。对于那些在寻找快速构建RESTful API解决方案的开发者来说,【FastAPI Quick CRUD】是一个不可忽视的神器。它基于大受欢迎的FastAPI框架,专为简化数据库交互而生,尤其适合那些希望迅速实现增删查改(CRUD)功能的项目...

gitblog_00058的博客 681

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Citra 3DS模拟器:如何让你的经典掌机游戏在PC上重获新生

当你翻出尘封的任天堂3DS游戏卡带,却发现掌机早已无法开机,那种失落感想必很多玩家都经历过。又或者,你想在大屏幕上重温《精灵宝可梦》系列的精美画面,却苦于3DS的小屏幕限制了视觉体验。这些问题,正是Citra 3DS模拟器要为你解决的。 ## 从游戏保存到高清重制的完整解决方案 Citra不仅仅是一个简单的模拟器,它是一个完整的3DS游戏保存和增强平台。想象一下,那些因为硬件老化而面临消失风险

gitblog_00284的博客 397
上一篇: 「开源免费」基于Vue和Quasar的前端SPA项目crudapi后台管理系统实战之动态表单设计器(五)
下一篇: 「免费开源」基于Vue和Quasar的前端SPA项目crudapi后台管理系统实战之业务数据增删改查(七)
crudapi
博客等级 码龄6年 12粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值