33|业务开发(上):问答业务开发
叶剑峰
该思维导图由 AI 生成,仅供参考
你好,我是轩脉刃。
上两节课我们开发了一个完整的用户模块的前后端,并且运用了 hade 框架的不少命令行工具和基础服务。这节课,我们继续开发这个类知乎问答网站的另外一个比较大的业务模块:问答业务模块。
关于问答业务模块的开发,整体的开发流程和基本的使用方式和用户模块其实差不多,说到底这两个模块都是操作数据库中对应的数据表,我们同样使用先分析需求,再实现后端接口,最后是实现前端接口的流程。
问答模块,包含问题表、回答表和之前的用户表,这三个表之间有一些关联关系,在 GORM 中,如何使用这些关联关系建模,并且封装问答服务,接着对这些问答服务的方法提供足够的测试,是我们今天的解说重点。
页面和接口设计
还是先梳理一下问答模块页面,它包含四个页面:问题创建页、问题列表页、问题详情页、问题更新页。名称都很清晰,在问题更新页中,我们可以对某个问题进行更新修改。不过我们暂时不提供回答的修改功能,只提供回答的创建和删除功能。
问题创建页
在这个页面中,用户可以提出一个问题。提出问题的时候,让用户输入问题的标题和内容。通过点击提交,这个问题就提交进入数据库,并且在列表页面展示了。
问题创建页明显就只会和后端有一个接口的交互,问题创建接口 /question/create。它是 POST 请求,请求参数包括问题标题 title 和问题内容 context。我们用一个结构来表示这个接口的请求内容:
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文详细介绍了业务开发中问答模块的开发流程和接口设计。作者首先梳理了问答模块的页面和接口设计,包括问题创建页、问题列表页、问题详情页和问题更新页,以及相应的接口设计。接着详细讲解了后端开发的四个步骤,包括接口swagger化、定义用户服务协议、开发模块接口和实现用户服务协议。文章还介绍了DTO层模型的设计和接口方法的注册,以及如何编写swagger的注释。作者提到了接口swagger化之后需要设计qa服务,统一使用一个数据模型来定义DO层模型和PO层模型。整篇文章以技术开发为主线,详细介绍了问答模块的开发流程和后端开发的具体步骤,适合开发人员快速了解问答模块的开发实践。文章还介绍了Gorm的tag标签的丰富运用,包括索引、非空默认值、时间管理和外键约束等,以及如何利用Gorm提供的预加载功能。此外,还介绍了分页模型Pager的设计。整体而言,本文内容丰富,技术性强,适合开发人员学习和实践。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《手把手带你写一个 Web 框架》,新⼈⾸单¥59
《手把手带你写一个 Web 框架》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(2)
- 最新
- 精选
- Juha老师,想问一个简单的问题,关于数据库的更新时间和创建时间,是建议代码里写还是数据库本身做约束呢(前提是MySQL的情况下,设置数据库表默认值和自动更新时间)?
作者回复: 我建议数据库自动更新时间戳的
2021-12-18 - 冬Don既然请求方法有GET, DELETE等动词,为什么还要在路径上添加动词呢?2023-08-12归属地:澳大利亚
收起评论