关于写“查看IT设备详细信息”接口的理解

这两个星期一直在做关于IT资产管理相关的内容。这个内容大概就建立三张表,然后对三张表进行操作。一般情况下,对一张表也就那么几种操作:增删改查,导入导出。这里我说了6个操作,那就代表要写6个接口。这6个接口就是最常见的接口,如果你不会写这6个接口,那基本上是入不了门的,其实只要你会写这6个接口,基本上基础就打好了,其实所有接口都是那么几类,只不过分简单的接口和复杂的接口。复杂的接口和简单的接口的不同之处在于,复杂的接口的service层要处理的逻辑更加复杂,mapper层写的sql语句更加复杂,除此之外其实都差不多。

今天我先不讲这6个接口,我来讲讲我在今天工作中用到的,叫“查看” 的接口。其实查看也就是查询咯,基本可以把这个接口归为查询接口。

这个接口要完成的效果如下:

首先先来把查看接口的完成效果给搞懂:“展示设备所有信息”指的是要把IT设备信息表的所有字段给查出来。“展示设备维修记录”指的是把IT维修记录表中的故障时间、发现方式、故障情况字段给查出来。“展示设备变更记录”指的是把IT领用记录表中的原使用人和现使用人给查出来。

当我们搞懂这个接口要返回什么之后,我们就要搞懂这个接口要传入什么。你想查看某个IT设备的所有信息嘛,那你肯定要知道这个IT设备的id,只要你有设备id了,那就可以知道这个设备的所有信息了,所以接口要传入设备id。我当时为什么知道要传入设备id呢?因为我当时是找了一个很类似的接口,这个接口是查看设备详细信息功能,那个接口传入的参数是设备id,所以我推断,我这个查看接口传入的也是设备id,我当时是这样想的。

当我把接口的输入输出都搞清楚之后,我就可以开始写接口的controller层了。controller层的返回VO应该怎么写呢?自己写?这么多字段自己写,岂不是把我写死了,肯定不会自己写呀,AI这么强,让它来写就好了。我把我想要实现的VO的效果告诉它,它就会帮我写了:

AI告诉我要这样写:

那就这样写咯!

这样,controller层就搞定了。最后controller层长这样:

接下来写service层。

service层其实没什么需要写的,因为这个就是查看IT设备的详细信息,没有任何的业务逻辑,所以service层不用写什么代码,最后service层长这样:

最后写mapper层。mapper层其实就是写sql语句。说实话,这个sql语句要是自己写,那很麻烦,麻烦的点在于字段太多啦,自己一个个写,那不得写死。所以我决定叫AI来写。还是一样,我把我的想法告诉AI,让AI帮我操刀。

它就会给你生成你想要的sql语句。不过后来我想了想,我的想法有点错误,因为一个设备可能有多个领用记录以及多个维修记录,所以当我想要查有多个领用记录和多个维修记录的时候,就查不到了,会报错。所以,我需要对这个sql语句进行改进。还是一样,我把我的想法告诉AI,让AI帮我操刀。AI告诉我这样写:

那我就照着AI的来写。

写完后,如果没有报错,那么mapper层就写完了。

然后用postman测试一下,如果可以的话,证明这个接口就写完了。

可以看到postman测试通过,接口已经写完了。

总结一下,整体的思路就是查IT设备信息表的所有字段,IT领用记录表的某几个字段,IT维修记录表的某几个字段,但是一个设备可以对应多个领用记录和多个维修记录。这个接口的目的就是通过设备ID把设备的所有信息以及多个领用记录和多个维修记录给查出来。

心得

AI是一个十分强大的工具。我之前使用AI的时候,经常会问一些很宽泛的问题,比如说“请你帮我写一个查设备所有信息的接口”。这种问题你交给AI,AI肯定不知道怎么回答你,而且它给出的答案和你真正想要的答案差别很大。一般你问AI要问哪种问题呢?就是类似于我上面那种,你要给它一个具体的问题,比如说我想要写一个VO,这个VO是什么样的,最后想要出来一个什么样的效果;或者我想要写一个sql,这个sql是什么样的,要查多少个字段,从多少张表中查,表与表之间怎么关联起来的。这种问题问出来才有用,AI才会帮你写的很准确。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/455646.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[Linux关键词]内建命令

希望你开心,希望你健康,希望你幸福,希望你点赞! 最后的最后,关注喵,关注喵,关注喵,大大会看到更多有趣的博客哦!!! 喵喵喵,你对我真的…

Qt 二进制文件的读写

Qt 二进制文件的读写 开发工具:VS2013 QT5.8.0 实例功能概述 1、新建项目“sample7_2binFile” 完成以上步骤后,生成以下文件: 2、界面设计 如何添加资源文件: 鼠标双击“***.qrc”文件 弹出以下界面: 点击 “Add F…

【AI视频抠图整合包及教程】开启视觉分割新纪元 —— Meta SAM 2

在数字化时代,Meta公司推出的SAM 2(Segment Anything Model 2)标志着图像和视频分割技术的一个新高度。SAM 2不仅继承了前代SAM模型的卓越性能,更在实时处理、视频分割、交互式提示等方面实现了重大突破。以下是SAM 2的全面营销文…

075_基于springboot的万里学院摄影社团管理系统

目录 系统展示 开发背景 代码实现 项目案例 获取源码 博主介绍:CodeMentor毕业设计领航者、全网关注者30W群落,InfoQ特邀专栏作家、技术博客领航者、InfoQ新星培育计划导师、Web开发领域杰出贡献者,博客领航之星、开发者头条/腾讯云/AW…

502 错误码通常出现在什么场景?

服务器过载场景 高流量访问:当网站遇到突发的高流量情况,如热门产品促销活动、新闻热点事件导致网站访问量激增时,服务器可能会因承受过多请求而无法及时响应。例如,电商平台在 “双十一” 等购物节期间,大量用户同时…

[分享] SQL在线编辑工具(好用)

在线SQL编写工具(无广告) - 在线SQL编写工具 - Web SQL - SQL在线编辑格式化 - WGCLOUD

AI修图太牛了! | 换模特、换服装、换背景都如此简单!

前言 推荐一款我最近发现的AI工具,它就是最懂电商的千鹿AI,专门用来做电商产品图、场景图的,除此外还有AI修图、线稿上色、批量抠图等等超多图片处理工具。 本人也从事过电商行业,包括跨境电商,非常知道电商人的疾苦…

Java 多线程(七)—— 定时器

定时器介绍与使用 先简单介绍一下什么是定时器:定时器类似生活中的闹钟,当时间一到,我们就会去做某些事情。 在代码层面理解就是,当我们设置的时间一到,程序就会执行我们固定的代码片段(也就是任务&#x…

谷歌新安装包文件形式 .aab 在UE4中的打包原理

摘要 本文学习了aab的基本概念以及UE4中产生aab的构建原理。 从官网了解基本概念 官网:Android Developers 1、什么是aab? .aab包形如: 2021年7月,在Google Play应用程序中,已经有数千个应用程序率先跟进了AAB格式。…

OpenCV视觉分析之运动分析(2)背景减除类:BackgroundSubtractorKNN的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 K-最近邻(K-nearest neighbours, KNN)基于的背景/前景分割算法。 该类实现了如 319中所述的 K-最近邻背景减除。如果前景…

Zypher Network Layer3 主网上线,“宝藏方舟”活动是亮点

前言 随着 Zytron Layer3 主网的上线,Zypher Network联合Linea共同推出了“宝藏方舟”活动,用户可通过参与活动,获得包括代币、积分、SBT等系列奖励。 Zypher Network 是一个以ZK方案为核心的游戏底层堆栈,其提供了一个具备主权…

C++20中头文件span的使用

<span>是C20中新增加的头文件&#xff0c;此头文件是containers库的一部分。包括&#xff1a; 1.模板类std::span&#xff1a;连续对象序列的非拥有视图(view)。std::span可以具有static extent&#xff0c;在这种情况下&#xff0c;序列中的元素数量在编译时已知并以typ…

探寻医疗行业人力资源管理系统优选方案

医疗机构管理日益重要&#xff0c;ZohoPeople HRMS助力医疗行业优化人力管理&#xff0c;提升效率。其涵盖智能排班、培训发展、合规保障、绩效管理等功能&#xff0c;支持全球化及远程协作&#xff0c;是医疗行业人力资源管理的有效工具。 一、医疗行业人力资源管理的复杂性 …

基于SpringBoot+Vue+uniapp微信小程序的社区门诊管理系统的详细设计和实现(源码+lw+部署文档+讲解等)

项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念&#xff0c;提供了一套默认的配置&#xff0c;让开发者可以更专注于业务逻辑而不是配置文件。Spring Boot 通过自动化配置和约…

15.正则化——防止过拟合的有效手段

引言 在人工智能(AI)领域&#xff0c;尤其是在机器学习和深度学习中&#xff0c;正则化(regularization)具有非常重要的地位。它不仅是训练模型过程中不可或缺的一部分&#xff0c;也是提高模型性能的关键因素之一。此外&#xff0c;正则化还可以提升模型的泛化能力&#xff0…

产品如何实现3D展示?具体步骤如下

产品实现3D展示主要依赖于先进的3D建模与展示技术。以下是产品实现3D展示的具体步骤和方法&#xff1a; 一、3D建模 使用专业的3D建模软件&#xff0c;如Blender、Maya、3ds Max等&#xff0c;这些软件提供了丰富的建模工具和材质编辑器&#xff0c;能够创建出高精度的3D模型…

Flutter 12 实现双击屏幕显示点赞爱心多种动画(AnimationIcon)效果

本文主要是使用Flutter封装一个双击屏幕显示点赞爱心UI效果&#xff0c;并实现了爱心Icon 透明度、缩放、旋转、渐变等动画效果。 实现效果&#xff1a; 实现逻辑&#xff1a; 1、封装FavoriteGesture&#xff08;爱心手势&#xff09;实现双击屏幕显示爱心Icon&#xff1b; …

文件摆渡系统选型指南:如何找到最适合您的数据安全解决方案?

在当今数字化时代&#xff0c;数据的安全传输与共享已成为企业运营中不可或缺的一环。文件摆渡系统&#xff0c;作为实现数据在不同安全域之间高效、安全传输的重要工具&#xff0c;其选型直接关系到企业数据的安全性与业务效率。本文将为您详细介绍如何挑选最适合您企业的文件…

视频网站系统的设计与实现(论文+源码)_kaic

毕 业 设 计&#xff08;论 文&#xff09; 题目&#xff1a;视频网站系统 摘 要 使用旧方法对视频信息进行系统化管理已经不再让人们信赖了&#xff0c;把现在的网络信息技术运用在视频信息的管理上面可以解决许多信息管理上面的难题&#xff0c;比如处理数据时间很长&#…

为什么k8s不支持docker-kubernetes

为什么Kubernetes不再支持Docker&#xff1f; 在Kubernetes 1.20版本之后&#xff0c;Kubernetes宣布逐步停止对Docker作为容器运行时的支持。这一改变在容器管理领域引起了广泛关注。许多人不禁疑惑&#xff1a;Kubernetes与Docker一向密切合作&#xff0c;为何会做出这样的决…