为女朋友写一个小程序(三)— —基于springboot的服务器端接口设计与实现

版权声明:本文为博主思考总结而得,只做抛砖引玉,欢迎大家转载指导 https://blog.csdn.net/hayre/article/details/81041189

为女朋友写一个小程序(一)— —目的与需求
为女朋友写一个小程序(二)— —数据库设计
为女朋友写一个小程序(三)— —基于springboot的服务器端接口设计与实现(本文)
为女朋友写一个小程序(四)— —前端小程序的设计与实现
为女朋友写一个小程序(五)— —如何用docker简化部署
为女朋友写一个小程序(六)— —结合docker实现devOps(未写)
为女朋友写一个小程序(七)— —优化引进redis(未编码,未写)
为女朋友写一个小程序(八)— —基于moongodb实现即时通讯(未编码,未写)

为什么没有二先写了三,是因为很气气,这两天和某C厂一次技术交流时,问到了我的项目架构,因为讲了一个比较熟悉,但是架构比较简单,感觉自己被完虐,气不过,所以花了几天的时间回顾了Kikitarget的服务器端技术架构,对自己技术的一个回顾,也想证明自己在开发这一块拥有自己独特的见解,而不是水货!

一、基于半RESTful的接口

1 先明确一下什么是RESTful接口?

之前看过相关知识点,实际上RESTful是一种接口的设计规范。
它把整个应用涉及的所有数据都当成一种资源,以该系统为例:用户、奖品、兑换记录、监督记录等都是一种资源。
客户端的操作,实际都可以抽象为对资源的操作,比如:增,删,改查等。RESTful用一系列的名词,去描述了这些相关的操作,并规范了URL的路径,力求能通过路径去描述对资源的操作、不仅如此,也规范了HTTP请求方法:GET、POST、OPTION 等对应的资源操作动作。
在完成对资源的操作后使用已经定义好的HTTP状态码去描述资源操作的结果,并规范了响应的数据格式,制定了一套固定的响应码去更细粒度的标明响应的结果。

2 我使用的接口格式是什么?

因为是比较小型的项目,所以没有使用完整的RESTful规范去实现所有的接口,但是接口参考了RESTful一些地方。

使用了面向资源的方法,也是使用URL路径去区别对资源的相关操作。

规范自定义的响应格式,在响应中描述请求结果的状态。

使用自定义token进行安全认证。

二、实现

实现这一块的话,想了想决定还是直接描述一下应用的架构体系,并说明每一个对应类的作用,特色的亮点。

1 技术栈

打包使用appassembler。打成标准二进制启动格式。
quartz。自动调度,解决过期任务检查
spring-aop。切面,输出日志,拦截错误请求
hutool。应用工具
数据接入层使用spring data做封装抽象,摆脱了hibernate。
HikariCP。数据库连接池
fastJSON。
基于spring boot 1.5.9。

2 包体系结构

使用XMind描述更好,所以整了一张图
这里写图片描述

附数据库E-R图
这里写图片描述

如果对您有帮助,希望给我一分鼓励~愿你我皆不忘初心!
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/hayre/article/details/81041189