👨🎓作者:bug菌 ✏️博客:CSDN、掘金等 💌公众号:猿圈奇妙屋 🚫特别声明:原创不易,转载请附上原文出处链接和本文声明,谢谢配合。 🙏版权声明:文章里可能部分文字或者图片来源于互联网或者百度百科,如有侵权请联系bug菌处理。
接下来的这几期,bug菌想跟大家分享一下自己昨天刚接到一个临时的需求,热乎着呢,想分享一下自己是如何面对临时需求并制定整个开发周期,其中包括从梳理业务到创建业务表再到实现业务逻辑形成闭环再到与前端对接,其中会穿插一些业务拓展及功能性拓展,这一条龙流程在线与大家一起见证,分享给刚入门的小伙伴,希望对你们有所帮助。
环境说明:idea2019.3 + springboot2.3.1.REALSE + mybati-plus3.2.0 + mysql5.6 + jdk1.8
对于前几期啊,我们已经对表创建及字段确定,对应实体类等文件也都准备妥当了。接下来,就到了该模块的代码实操环节啦,准备了这么久,不就为了这一刻嘛。
所以接下来,咱们先来分析下这个模块具体需要哪些接口,先预先自己定义好,再跟前端小伙伴对接一下。那我带着你们一起分析分析啊,因为写这个模块,完完全全是带着刚入门不久的小伙伴怎么应对在项目中应对临时增加的需求到底该怎么处理,怎么有条不紊的进行业务穿插,如果你是从第一期开始看我,那我保你对于该困惑会有一个明确的构思存留在脑海中。
首先,应对额外增加的需求,而且是一整个小模块算闭环模块吧,虽然算不上项目的核心业务,但也是系统不可或缺的一部分组成,尽量做好保证低耦。
如下是我分析出大致所需要的接口列表。
暂时我就梳理了这些,后续还得根据页面实际需要进行调整,新增接口或者在已有的接口上修改等,都有可能。况且我这边既是开发负责人又是后端主力开发,所以还有一部分工作是需要我去构思并思考的,页面与后端如何交互,页面之间的交互逻辑等,这个我都得替前端小伙伴先指定好。本来正常的前后端交互是前端需要啥接口,制定好接口清单给到后端,后端再按接口清单评估后进行逐一实现,但是这部分工作都由我一个人去做了,所以啊,你们懂得,我有多蓝瘦。
接口清单我们是梳理完了。接下来应该先在分发器层(Controller)把需要的接口先定义好,这样也好给同组的小伙伴分配接口实现,而不产生代码合并冲突。
这里我们先要把Controller类先定义规范,restful风格还是其他什么格式,api描述等相关接口内容,在线接口文档这我用的是swagger2 + 第三方ui。如果有需要需要的小伙伴我可以下期专门出一期教学。
在线接口文档展示如下:
至于具体接口如何定义:我就大致列举两个给大家做个示范好了,因为这个后续我也会带着大家一个一个去实现的,大家不用着急,我就先给大家演示写个问题反馈的保存接口吧。仅供参考:
@Autowired
private IUserQuestionsService userQuestionsService;
/**
* 反馈问题保存
*
* @param images img图片数组
* @param inPage 问题反馈/建议所在页面
* @param questionContent 反问题反馈/建议描述
* @param
@PostMapping("/save")
@SysLog(logType = LogTypeEnum.LOG_TYPE_IMG_UPLOAD)
@ApiOperation(value = "反馈问题保存", notes = "反馈问题保存")
public ResultResponse<Boolean> saveQuestion(@ApiParam("图片数组") MultipartFile[] images,
@ApiParam("问题反馈类型") String questionType,
@ApiParam("问题反馈/建议描述") String questionContent,
@ApiParam("问题反馈/建议所在页面") throws IOException {
return
如上接口是针对问题反馈进行保存时所调用的,这也是根据页面梳理所得,需要保存那些字段,然后接口这边直接给定参数接收即可,可能麻烦一点的就是处理图片数组了,这也算是个比较大的坑,如果你做过一次,那你就会对它比较的熟悉,MultipartFile类。
对于swagger在线接口文档如何安装及使用,如果有需要的小伙伴,我可以下期着重进行入门级教学及演示,我会进行评论区统计一下,大家的呼吁。