公告页面设计

开篇语:好久没发文了,因为手头上有紧急的任务还有出差,属实是没有精力写文了,今天刚把任务大致写完,准备写设计文档了,这不是马不停蹄来写文了,记录和总结一下我这段时间的学习。

1、项目背景

项目背景,当然是老板需求啊,哈哈哈,所以需要实现。需求如下,我刚拿到这个需求的时候,我都懵逼了,孩子真的不会写 ,我实诚的告诉老板我不会,老板说你可以的,就是写API接口,试试,然后我就开始我漫长的探索。

公告页面

消息中心页面

2、菜鸡的思考逻辑

我连啥是API,我都不知道,不知者无罪,所以请出我的好朋友百度,百度带我了解世界,说啥也不能没有百度。看完下面的图,我对api有一个大致的了解,大概就是前后端交互的媒介。前端把数据给后端,后端把数据给前端,都依靠它。 可是到这,我还是对那个需求没有任何的想法,哪怕是违法的都没有,然后我就开始我百度生活,试图在网上找到关于这一块代码,我在大大的网络世界里面,挖啊挖,不是付费就是对我没啥用。终究还是穷。使得我不得努力思考。不得已之下,我又找到老板,说我不会,老板说你要记住,你是一个后端,你的第一任务就是处理数据,处理数据就是要学数据库,你先熟悉一下数据库 吧。 我这里花费了2天时间学了数据库。就明白了一个道理增删改查 ,真是贯穿数据库。这里推荐一个博主写的数据库,我感觉写的挺好的。我刚学的时候,他的文章给了我很多帮助。(侵权,会删的哈

数据库的基础概念和代码例子(增删改查和其他操作-约束)_数据库代码示例-CSDN博客

带着半吊子的数据库和git,我又开始我的征途。我开始写我的代码,到目前,我可是一个代码没写。我又求教大佬,大佬说你需要先设计你数据库的表啊,表里需要存储什么内容,是你要考虑。好了,接下来我开始针对需求,来设计我的数据库表

2.1数据库表的设计

如下图是数据库表名的创建语句,只需要把相对应的替换成你需要创建的名字 根据我的需求,我需要创建一个公告表 ,我的表名叫notices ,其中包含(id、name、description、title、summary、context、publisher、status、publish_time、created_at、updated_at、deleted_at)有人看到这里可能会疑惑为啥没有接收人 ,这个是把接收人单独整了个表(为啥单独整表,是与我的业务逻辑有关,我还需要写一个消息中心的页面,消息中心有一个权限控制。)

创建数据库的表还需要了解一下数据库的数据类型,这里推荐一个博主写的,写的很细。www.cnblogs.com/zhangruiyua...

sql 复制代码
CREATE TABLE notices (
	id SERIAL PRIMARY KEY, 
	sort INTEGER,
	name VARCHAR,  --主要存储用户名
	description VARCHAR,     --描述
  title VARCHAR(255) NOT NULL,  --标题
	recipient INTEGER,
	publisher VARCHAR(255) NOT NULL,--用于存储公告发布人的信息
	status INTEGER DEFAULT 0,,--用于存储公告的发布状态
	notice_id INTEGER,        -- nested notices          
	publish_time  TIMESTAMP(0) DEFAULT now(), --发布时间 
	summary VARCHAR(255) NOT NULL,--摘要
	context VARCHAR(255) NOT NULL,--内容

	created_at TIMESTAMP(0) DEFAULT now(),
	updated_at TIMESTAMP(0) DEFAULT now(),                                             
	deleted_at TIMESTAMP(0)
);

现在我的表就建好了,我的表一直跟着我逻辑变化,或者新的需求一直增加更改,这是目前的一个表,给大家做参考,表建好了,就是往里面存储数据和调数据,这是最简单的操作,也就是我们说的增删改查 。 这里插入一个调试工具postman ,这会是我们忠诚的小伙伴,一直帮我们调试代码,他就是一个模拟前端。比如前端给了一串数据给我们,我们可以通过postman给我到后端,如果后端要反馈数据给前端,我们也可以用postman调一下,看看数据如何。 如下是我的postman的页面

2.1.1创建postman里面的GET API

如下图,api类型还是挺多的,可以进行选择你需要的类型,假使我们使用的是GET,后面http://你电脑的ip/api/你写代码的那个文件名 假如我的ip是192.168.1.101,那后面就填http://192.168.1.101:8081/api/notices (notices是我写代码的文件名)

2.1.2创建postman里面的POST API

如下图,是我的POST API界面,图中标红的地方是我们需要注意的,因为前端传给我的是json ,所以我这里的数据格式选择json ,然后{}里面填的是前端需要传的数据(这里可以和前端协商一下,方便干活,哈哈哈。)

2.1.3创建postman里面的PUT API

PUT API和POST API差不多,只是API的类型不一样。

2.1.4创建postman里面的DELETE API

图中标红色的是填数据在表里的id

2.2数据的增删改查

2.2.1 公告GET API/DELETE API 设计思路

因为我还是挺菜的,我当时写不出来POST API代码来,旁边大哥就建议既然你写不出来创建公告的代码,换个思路,可以试着写个简单的GET接口,它只是从数据库的表里调取东西,哪怕就是一个很小的数值,都算你是成功的。被大哥一鼓励,我又感觉我行了。我写的第一个接口就是GET接口。如下,图中红色框放的是你的表名 (因为第一次写这种文章,怕泄露公司的东西,但是又想记录自己的学习过程,所以请谅解,哈哈哈),然后经过我的努力,我已经把它的GET API接口写出来了,这里用postman调了一下,里面没有数据,想来也正常,确实没有数据,我都没插入数据。

首先恭喜小何,能成功调出来里面的数据,我的下一步就是往里面插数据。代码我现在是写不出来,我可以插入假数据啊,思路打开了,只要有数据。我就能检测我写的GET API接口对不对,前端调我的接口就能看到东西了。 手动往里面插入数据,用postman调,成功返回数值,给到了前端,也是没啥问题。会写GET了,DELETE还远吗?我也是很顺利的会写了。但是道阻且长啊,前路漫漫的,姑且让我高兴一波,下个小目标就是POST和PUT API。

2.2.2 公告 POST API/PUT API 设计思路

首先你需要和前端协商一下,他需要传给你的数据格式,拿我这里的公告做例子。一个完整的公告具备什么,思考一下,我需要存储公告的标题、公告的发送人、公告的接收人,公告发送的时间。这是最简单的。作为一个后端,也要时刻明白,你只接收数据,处理数据,然后存储数据就够了,剩下与你无瓜,你也不要管前端咋传给你的。

graph TD 前端传递数据 --> 后端接收数据 后端接收数据 -->进行数据处理 进行数据处理 -->存储进数据库的表里

修改的API和创建的API有异曲同工之处。就是前端需要多给你传递一个id,比如你要修改公告id=3的公告内容,前端得传给你,就是他起码得告诉你,他想修改哪个公告内容,修改后,成功反馈一个信息给前端,告诉他已经修改成功。

菜鸡的进阶

至此,我就算把所有东西都整明白了,就和前端慢慢对,根据需求慢慢改我的代码就好了,目前我也是写出来这两个页面了。这里开心一下。这里面还有很多细枝末节的,很难说,这一说,都不只这点字了,发个文纪念一下我这段时间的成功,也欢迎不会的小伙伴和我交流,(实在不就想写了,具体的代码逻辑那一块不是一句两句可以说清楚的)哈哈哈哈。

相关推荐
码农派大星。2 分钟前
Spring Boot 配置文件
java·spring boot·后端
杜杜的man43 分钟前
【go从零单排】go中的结构体struct和method
开发语言·后端·golang
幼儿园老大*43 分钟前
走进 Go 语言基础语法
开发语言·后端·学习·golang·go
llllinuuu1 小时前
Go语言结构体、方法与接口
开发语言·后端·golang
cookies_s_s1 小时前
Golang--协程和管道
开发语言·后端·golang
为什么这亚子1 小时前
九、Go语言快速入门之map
运维·开发语言·后端·算法·云原生·golang·云计算
想进大厂的小王1 小时前
项目架构介绍以及Spring cloud、redis、mq 等组件的基本认识
redis·分布式·后端·spring cloud·微服务·架构
customer082 小时前
【开源免费】基于SpringBoot+Vue.JS医院管理系统(JAVA毕业设计)
java·vue.js·spring boot·后端·spring cloud·开源·intellij-idea
2402_857589362 小时前
SpringBoot框架:作业管理技术新解
java·spring boot·后端
一只爱打拳的程序猿2 小时前
【Spring】更加简单的将对象存入Spring中并使用
java·后端·spring