前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在线问题反馈模块实战(六):接口文档定义

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

作者头像
bug菌
发布2023-05-27 15:39:15
1840
发布2023-05-27 15:39:15
举报

👨‍🎓作者:bug菌 ✏️博客:CSDN​、掘金等 💌公众号:​​猿圈奇妙屋​​ 🚫特别声明:原创不易,转载请附上原文出处链接和本文声明,谢谢配合。 🙏版权声明:文章里可能部分文字或者图片来源于互联网或者百度百科,如有侵权请联系bug菌处理。 

一、前言🔥

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

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

二、正文🔥

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

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

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

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

  1. 分页查询接口(分页参数、其他字段等分页条件)。
  2. 新增反馈问题保存接口(涉及普通字段及多图片需一同保存)。
  3. 反馈编辑接口(目的是给解决人用的,可以对该需求进行一个是否解决、给与解决或其他解决状态,再次就是反馈该问题/需求解决结论是什么,并告知提出者)
  4. 反馈问题关闭接口(对于已解决的问题或已给与实现的需求,可以进行关闭)
  5. 图片预览接口(针对图片展示)
  6. 图片下载接口(针对图片下载)
  7. 图片删除接口(针对反馈人能删除已上传的截图等图片)
  8. 反馈问题详情接口(提供可查看反馈问题/需求的详细)
  9. 反馈问题删除(这也是对于反馈人的角度所提供的,人家可以针对自己所提出的问题进行删除。)
  10. ...

        暂时我就梳理了这些,后续还得根据页面实际需要进行调整,新增接口或者在已有的接口上修改等,都有可能。况且我这边既是开发负责人又是后端主力开发,所以还有一部分工作是需要我去构思并思考的,页面与后端如何交互,页面之间的交互逻辑等,这个我都得替前端小伙伴先指定好。本来正常的前后端交互是前端需要啥接口,制定好接口清单给到后端,后端再按接口清单评估后进行逐一实现,但是这部分工作都由我一个人去做了,所以啊,你们懂得,我有多蓝瘦。

        接口清单我们是梳理完了。接下来应该先在分发器层(Controller)把需要的接口先定义好,这样也好给同组的小伙伴分配接口实现,而不产生代码合并冲突。

        这里我们先要把Controller类先定义规范,restful风格还是其他什么格式,api描述等相关接口内容,在线接口文档这我用的是swagger2 + 第三方ui。如果有需要需要的小伙伴我可以下期专门出一期教学。

在线接口文档展示如下:

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

三、接口示范定义 🔥

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

代码语言:javascript
复制
@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
在线问题反馈模块实战(六):接口文档定义_字段_03
在线问题反馈模块实战(六):接口文档定义_字段_03

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

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-10-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、前言🔥
  • 二、正文🔥
  • 三、接口示范定义 🔥
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档