表2.1搜索博客列表接口描述表_Java 后端博客系统文章系统——No1

这一章我们主要介绍文章系统。毕竟博客系统的核心就是文章的发布和阅读。闲话不多说,老规矩走起来。

工具

IDE为idea16

JDK环境为1.8

gradle构建,版本:2.14.1

Mysql版本为5.5.27

Tomcat版本为7.0.52

流程图绘制(xmind)

建模分析软件PowerDesigner16.5


5d477c82f50c465d5bcdfb86a685cf98.png

首先我们需要先了解我们这个文章系统的整个功能模块组合,也就是我们的思维导图,只有这样才能实现整体功能的架设。下面如图所示:

ded6ce91a98ed3bcbbe2d1cd2e4e1dda.png

其实在上面的系统中,我已经把前端用户的文章查阅功能排除掉的。为什么我这里会单独排掉前端的查阅呢?前端的文章查阅功能基本在后端的所有文章中已经有体现相应功能。大概功能如下:

前端文章查阅

文章列表

文章归档

文章分类

文章详情

cc8c864a3dba3a9dd1ab8aa1b4dc3571.png
a55cfd8908cbfbe1a80a0f1cbbb53587.png

在上面的流程图中,我们可以看到我们清楚的把业务流程描述出来了。可能很多哥们会说我们有其他不一样的方式,或者类似的方式但是实现比现在的强势,这个无可否认。但是我认为这个是别人项目中存在且我使用的很符合个人习惯的东西。好的东西要学习,不友好的东西我们需要自己改进。

首先我们访问站点的方式只有访问主页,然后才会有web应用的展示,也就是说我们网站的首页是我们web应用的总入口。

而我们主页的功能也是需要围绕我们的中心——博客来制作,这样才能达到我们建设这个后端的目的。所以首页元素需要有以下方面:

文章列表

文章归类

作者介绍

热门文章

最高评论

最近动态

联系信息(而维码)

标签导航

等···

cb746988924c14d8188db571347da36f.png
e61023f345b4ae1b9e6c1d29da4eb98d.png

为什么我们需要数据流图,我们不是为了软件工程二故意做这个数据流图。而是数据流图能清晰的表明我们这些流程中需要哪些关键的东西,能在一定程度上反应业务逻辑。所以我们做这个还是有意义。在上面我们可以看到在我们程序流转的过程中,我们需要知道具体的文章ID才能进行详情查看操作,所以我们在拿到列表的时候就需要把文章ID拿到,同时文章归档的依据信息,也需要拿到,大概需要哪些简单的东西,具体跟下面首页的json数据相关。具体的首页预想效果如下图:

f59c40ef46c053f7ec9473fbd80cee6b.png

按照通用接口标准来说,我们首页数据需要JSON的标准数据。分析可得,我们的json格式大概如下:

00a6bcb6aec92b940f1d628e3904515b.png

可能一些朋友看到这里就会迷糊了,你的json数据的实体类型怎么来的呢?其实我们一开始就提过我们的数据库是wordpress的数据库,也就是数据内容是来自我的个人博客系统上面的数据库。所以我们需要看看wrodpress的博客系统上面文章表的结构和内容才能推测是表中字段及其分布各有什么意义。具体的数据库表结构如下:

036f92da1fb869b82c6491f1c9b82af7.png

从上面的文章信息表中我们可以看到这一张表只是用来存储所有的文章的基本信息,但是文章的一些其他信息都是没有的,比如说:

评论

特色图片

文章归档

等···

一般来说,我们的常规思路是需要将这些信息关联在一起的,而且这个思路也是没错的。但是可能有的实现我们并没有较好的设计思想,所以我们可以简单的把数据库逆向到模型。所以闲话不多说,直接在有wrodpress环境的电脑上面链接数据库,打开wordpress数据库,选择逆向到模型。那么,数据库逆向模型如下所示:

7d89fb786e7ef22a78fe76fa2177f17d.png

从上面的数据库模型中我们可以看出维持wordpress中心的有几张表,如下:

wp_posts 文章基础信息表

wp_postmeta 文章扩展数据表

wp_comments 评论基本表

wp_commentmeta 评论扩展表

wp_links 链接表

wp_options 设置信息表

wp_users 用户信息表

wp_usermeta 用户信息扩展表

为什么我说上面这几张表是核心表呢?首先我们可以看到这几张表都是存储了博客系统的一些基本的东西。接着我们可以看到这些各个表中一些关联的表都是有彼此的键对应其他表的主键,所以看到这里大家可能也就心里有数。

所以上面我们的json信息中的实体类型该怎么设定也就是很明显的,必须对应数据库字段嘛。既然都这样了,那我们是不是也可以进一步猜想出其他的json内容呢?

ac381d6d381bbf11c0d4dd0cf5fad4ae.png

文章按照日期归档相信很多人都看到过,大概样子就是一个下拉列表中显示年月日后面加上数量,大概样子如下

请选择日期 ↓

所有

2016年11月12日(2)

2016年11月15日(1)

2016年10月28日(3)

我们要把这样的效果做出来,其实可以直接把文章信息传递给前台让前端完成。但是数据量过多的时候,网络传输也就相对吃力,所以我们还是直接后端处理,将网络传输的数据最精简。

那么我们简单的首页集合的数据应该如下所示了:

076afc540b640302f6bfc2a6d22aabf4.png

这里应该有朋友可能会问,为啥你的date(根据日期归档)的json数据这么奇怪呢?

其实我们最直接的可以看到,在上面的日期归档的json中,日期可以很直观的看出来,同时idList中把文章ID也是展示出来的,所以我们根据ID和日期都还是可以互相参考的,同时ID的数量可以让我们明白每个日期有多少篇文章。

既然我们在上面把基本的首页框架数据归类,写出的json接口,同时通过逆向开发的思路等把项目我们需要使用的一些模型图完成了,这样接下来就是具体编码的事情。 具体的编码问题,且听下回分解。

3a812c2d8df8672a0f5eb32636098d4b.png

核心算法:SHA-256

步骤:

注册用户

客户端进行16位MD5小写加密

生成随机的salt

将密码和salt进行SHA-256加密

数据库存入用户信息和对应的salt


这一期,我们把文章系统一些做了基础的分析,下一期我们需要完成wordpress数据库内容分析和文章系统模块开发,和文章的撰写相关的东西。项目开发中的一些基本思想,但是可能我们最终目的是倚赖wordpress的博客。所以在实际开发中,我们可以参考别人的完成并加以列用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您介绍一下API开放平台的系统设计和设计。 首先,API开放平台的系统设计需要考虑以下几个方面: 1. 用户认证和授权:平台需要提供用户认证和授权功能,以保证API的安全性和可控性。可以采用OAuth2.0协议或其他认证授权方式。 2. API管理:平台需要提供API的管理功能,包括API的注册、发布、下线、版本管理等。 3. API文档和测试工具:平台需要提供API的文档和测试工具,以便开发者能够快速了解API的使用方法和效果。 4. API监控和统计:平台需要提供API的监控和统计功能,以便管理员能够及时了解API的使用情况和异常情况。 5. 支持多语言和多协议:平台需要支持多种编程语言和协议,以便开发者能够选择适合自己的开发环境和工具。 对于设计,可以考虑以下几个: 1. 用户:用于存储平台注册的用户信息,包括用户名、密码、邮箱、角色等。 2. API:用于存储API的信息,包括API名称、描述、URL、参数、返回值等。 3. API版本:用于存储API的不同版本信息,包括版本号、发布时间、修改记录等。 4. 认证:用于存储用户的认证信息,包括token、过期时间等。 5. 访问日志:用于存储API的访问日志,包括访问者IP、访问时间、请求参数、返回结果等。 以上仅是一个简单的设计方案,具体的系统设计和设计需要根据实际情况进行调整和完善。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值