写点什么

在线问题反馈模块实战 (六): 接口文档定义

作者:bug菌
  • 2022-10-20
    江苏
  • 本文字数:3392 字

    阅读完需:约 1 分钟

在线问题反馈模块实战(六):接口文档定义

👨‍🎓作者:bug 菌

✏️博客:​​CSDN​​​、​​掘金​​等

💌公众号:​​猿圈奇妙屋​

🚫特别声明:原创不易,转载请附上原文出处链接和本文声明,谢谢配合。

🙏版权声明:文章里可能部分文字或者图片来源于互联网或者百度百科,如有侵权请联系 bug 菌处理。 

一、前言🔥

       接下来的这几期,bug 菌想跟大家分享一下自己昨天刚接到一个临时的需求,热乎着呢,想分享一下自己是如何面对临时需求并制定整个开发周期,其中包括从梳理业务到创建业务表再到实现业务逻辑形成闭环再到与前端对接,其中会穿插一些业务拓展及功能性拓展,这一条龙流程在线与大家一起见证,分享给刚入门的小伙伴,希望对你们有所帮助。

环境说明:idea2019.3 + springboot2.3.1.REALSE + mybati-plus3.2.0 + mysql5.6 + jdk1.8

       若小伙伴们在批阅文章的过程中觉得文章对您有一丝丝帮助,还请别吝啬您手里的赞呀,大胆的把文章点亮👍吧,您的点赞三连(收藏⭐️+关注👨‍🎓+留言📃)就是对 bug 菌我创作道路上最好的鼓励与支持😘。时光不弃🏃🏻‍♀️,创作不停💕,加油☘️ 

二、正文🔥

        对于前几期啊,我们已经对表创建及字段确定,对应实体类等文件也都准备妥当了。接下来,就到了该模块的代码实操环节啦,准备了这么久,不就为了这一刻嘛。

        所以接下来,咱们先来分析下这个模块具体需要哪些接口,先预先自己定义好,再跟前端小伙伴对接一下。那我带着你们一起分析分析啊,因为写这个模块,完完全全是带着刚入门不久的小伙伴怎么应对在项目中应对临时增加的需求到底该怎么处理,怎么有条不紊的进行业务穿插,如果你是从第一期开始看我,那我保你对于该困惑会有一个明确的构思存留在脑海中。

        首先,应对额外增加的需求,而且是一整个小模块算闭环模块吧,虽然算不上项目的核心业务,但也是系统不可或缺的一部分组成,尽量做好保证低耦。

如下是我分析出大致所需要的接口列表。

  1. 分页查询接口(分页参数、其他字段等分页条件)。

  2. 新增反馈问题保存接口(涉及普通字段及多图片需一同保存)。

  3. 反馈编辑接口(目的是给解决人用的,可以对该需求进行一个是否解决、给与解决或其他解决状态,再次就是反馈该问题/需求解决结论是什么,并告知提出者)

  4. 反馈问题关闭接口(对于已解决的问题或已给与实现的需求,可以进行关闭)

  5. 图片预览接口(针对图片展示)

  6. 图片下载接口(针对图片下载)

  7. 图片删除接口(针对反馈人能删除已上传的截图等图片)

  8. 反馈问题详情接口(提供可查看反馈问题/需求的详细)

  9. 反馈问题删除(这也是对于反馈人的角度所提供的,人家可以针对自己所提出的问题进行删除。)

  10. ...

暂时我就梳理了这些,后续还得根据页面实际需要进行调整,新增接口或者在已有的接口上修改等,都有可能。况且我这边既是开发负责人又是后端主力开发,所以还有一部分工作是需要我去构思并思考的,页面与后端如何交互,页面之间的交互逻辑等,这个我都得替前端小伙伴先指定好。本来正常的前后端交互是前端需要啥接口,制定好接口清单给到后端,后端再按接口清单评估后进行逐一实现,但是这部分工作都由我一个人去做了,所以啊,你们懂得,我有多蓝瘦。接口清单我们是梳理完了。接下来应该先在分发器层(Controller)把需要的接口先定义好,这样也好给同组的小伙伴分配接口实现,而不产生代码合并冲突。这里我们先要把 Controller 类先定义规范,restful 风格还是其他什么格式,api 描述等相关接口内容,在线接口文档这我用的是 swagger2 + 第三方 ui。如果有需要需要的小伙伴我可以下期专门出一期教学。在线接口文档展示如下:

三、接口示范定义 🔥

至于具体接口如何定义:我就大致列举两个给大家做个示范好了,因为这个后续我也会带着大家一个一个去实现的,大家不用着急,我就先给大家演示写个问题反馈的保存接口吧。仅供参考:@Autowiredprivate 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 在线接口文档如何安装及使用,如果有需要的小伙伴,我可以下期着重进行入门级教学及演示,我会进行评论区统计一下,大家的呼吁。

 ... ...

​猿圈奇妙屋​​』,后台回复关键词领取学习资料、大厂面经、面试模板等海量资源,就等你来拿。

四、往期热文推荐🔥

        对于问题反馈模块实战开发,我完整的梳理了每一期的教学及链接地址,仅供参考:希望能对你们有所帮助。

        如上是整整二十期内容,每一期都是干货,对于一个模块的开发,如何一点一滴打造并测试部署上线,我再说一遍,这不是演习,是实战!是实战!是实战!

        若你们觉得只是需要了解其中某个知识点或者业务的话,也不反对,你就选择其中的几期进行学习就好,反正都已经完结啦;我只希望你们能有所收获,有所成长,也就不枉我苦心每天下班后给大家总结更新。

五、文末🔥

《springboot 零基础入门教学》,都是我一手打下的江山,持续更新中,希望能帮助到更多小伙伴们。

       我是 bug 菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting!

        最后送大家两句我很喜欢的话,与诸君共勉!


☘️做你想做的人,没有时间限制,只要愿意,什么时候都可以 start。

🍀你能从现在开始改变,也可以一成不变,这件事,没有规矩可言,你可以活出最精彩的自己。




💌如果文章对您有所帮助,就请留下您的吧!(#^.^#);

💝如果喜欢 bug 菌分享的文章,就请给 bug 菌点个关注吧!(๑′ᴗ‵๑)づ╭❤~;

💗如果对文章有任何疑问,还请文末留言或者加群吧【QQ 交流群:708072830】;

💞鉴于个人经验有限,所有观点及技术研点,如有异议,请直接回复参与讨论(请勿发表攻击言论,谢谢);

💕版权声明:原创不易,转载请附上原文出处链接和本文声明,版权所有,盗版必究!!!谢谢。


发布于: 刚刚阅读数: 4
用户头像

bug菌

关注

公众号 | 猿圈奇妙屋 2020-07-30 加入

在CSDN、掘金等社区优质创作者,全网合计6w粉+,对一切技术都感兴趣,重心偏java方向,目前运营公众号[猿圈奇妙屋],欢迎小伙伴们的加入,一起秃头。

评论

发布
暂无评论
在线问题反馈模块实战(六):接口文档定义_springboot_bug菌_InfoQ写作社区