QA项目总结
Springboot框架搭建完毕后,开始实现接口的功能。
1.文件上传
通过java.io的File类实现。
设置了filename,path属性后通过transferTo方法写入。
2.sys模块
实现两个功能: 1.获得版本号 2.下载数加1
3.用户模块
要实现一整个用户登入流程以及用户身份的校验、获取用户信息等功能。
登录功能是用了JWT实现。
用户验证通过,服务端生成token返回,服务端不存储用户相关信息,该token携带了用户的信息以及一些服务端设置的数据。
用户在登录以后携带token访问服务端,服务端解析token,验证登录状态即可。
4.消息模块
主要是用于用户操作后的回馈,以及用户之间的交流。
5.问答模块
问答模块用于实现QA项目中用户之间提问解答的需求。
下面是模块接口的内容:
问答模块的流程如下:
6.总结
QA项目中涉及到了很多功能和知识点,其中问答模块是功能点最多的一个模块,登录模块则是最复杂的。
在登录模块中第一次将之前学习到的JWT实践了一次,原本的设计思路是用redis存token与用户对象,key存的是MD5加密的String字符串,也就是用户携带的token,value存的是用户对象的数据,用了Jwt后直接将用户数据放到token中,通过对token的加密,让服务器来解密token,验证token的正确性和有效性,从而取代了redis的使用。
在问答模块中,繁杂的功能接口的编写也是考验细心和耐心的一次工作。