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

举报
bug菌 发表于 2023/05/11 23:20:12 2023/05/11
【摘要】 我是bug菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting!
👨‍🎓作者:bug菌
✏️博客:CSDN掘金infoQ51CTO
🎉简介:CSDN/阿里云/华为云/51CTO 博客专家,博客之星Top30,掘金年度人气作者Top40,51CTO年度博主Top12,掘金/InfoQ/51CTO等社区优质创作者,全网粉丝合计10w+,硬核微信公众号猿圈奇妙屋」,欢迎你的加入!免费领取简历模板/学习资料/大厂面试真题/职业规划等海量资料。
..
✍️温馨提醒:本文字数:1999字, 阅读完需:约 6 分钟

        嗨,家人们,我是bug菌呀,我又来啦。今天我们来聊点什么咧,OK,接着为大家更《springboot零基础入门教学》系列文章吧。希望能帮助更多的初学者们快速入门!

        如果小伙伴们在批阅文章的过程中觉得文章对自己有帮助,请别吝啬手中的赞呀,大胆的把文章点亮👍,相信你点赞了好的文章,平台也会经常给你推荐高质量好文,您的点赞三连(收藏+关注+留言)就是对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。如果有需要需要的小伙伴我可以下期专门出一期教学。

在线接口文档展示如下:

编辑

三、接口示范定义 🔥

        至于具体接口如何定义:我就大致列举两个给大家做个示范好了,因为这个后续我也会带着大家一个一个去实现的,大家不用着急,我就先给大家演示写个问题反馈的保存接口吧。仅供参考: 

    @Autowired
    private IUserQuestionsService userQuestionsService;

    /**
     * 反馈问题保存
     *
     * @param images          img图片数组
     * @param inPage          问题反馈/建议所在页面
     * @param questionContent 反问题反馈/建议描述
     * @param questionType    问题反馈类型(功能异常、体验问题、功能建议、其它)
     */
    @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("问题反馈/建议所在页面") String inPage) throws IOException {
        return userQuestionsService.saveQuestion(images, questionType, questionContent, inPage);
    }

        如上接口是针对问题反馈进行保存时所调用的,这也是根据页面梳理所得,需要保存那些字段,然后接口这边直接给定参数接收即可,可能麻烦一点的就是处理图片数组了,这也算是个比较大的坑,如果你做过一次,那你就会对它比较的熟悉,MultipartFile类。

        对于swagger在线接口文档如何安装及使用,如果有需要的小伙伴,我可以下期着重进行入门级教学及演示,我会进行评论区统计一下,大家的呼吁。

 ... ...

        好啦,以上就是这期的所有内容啦,你们学废了么?如果对你有所帮助,还请不要忘记给bug菌[三连支持]哟。如果想获得更多的学习资源或者想和更多的技术爱好者一起交流,可以关注我的公众号『猿圈奇妙屋』,后台回复关键词领取学习资料、大厂面经、面试模板等海量资源,就等你来拿。

四、往期热文推荐🔥

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

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

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

如果还想要学习更多,小伙伴们直接订阅bug菌专门为大家创建的零基础入门Spring Boot专栏《滚雪球学Spring Boot》,从无到有,从零到一!以知识点+实例+项目的学习模式由浅入深对Spring Boot框架进行学习&使用。

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

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。