开篇语:好久没发文了,因为手头上有紧急的任务还有出差,属实是没有精力写文了,今天刚把任务大致写完,准备写设计文档了,这不是马不停蹄来写文了,记录和总结一下我这段时间的学习。
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 设计思路
首先你需要和前端协商一下,他需要传给你的数据格式,拿我这里的公告做例子。一个完整的公告具备什么,思考一下,我需要存储公告的标题、公告的发送人、公告的接收人,公告发送的时间。这是最简单的。作为一个后端,也要时刻明白,你只接收数据,处理数据,然后存储数据就够了,剩下与你无瓜,你也不要管前端咋传给你的。
修改的API和创建的API有异曲同工之处。就是前端需要多给你传递一个id,比如你要修改公告id=3的公告内容,前端得传给你,就是他起码得告诉你,他想修改哪个公告内容,修改后,成功反馈一个信息给前端,告诉他已经修改成功。
菜鸡的进阶
至此,我就算把所有东西都整明白了,就和前端慢慢对,根据需求慢慢改我的代码就好了,目前我也是写出来这两个页面了。这里开心一下。这里面还有很多细枝末节的,很难说,这一说,都不只这点字了,发个文纪念一下我这段时间的成功,也欢迎不会的小伙伴和我交流,(实在不就想写了,具体的代码逻辑那一块不是一句两句可以说清楚的)哈哈哈哈。