手把手带你写一个 Web 框架
叶剑峰
腾讯高级工程师,前滴滴技术专家
22731 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 42 讲
特别放送 (1讲)
手把手带你写一个 Web 框架
15
15
1.0x
00:00/00:00
登录|注册

31|通用模块(上):用户模块开发

/user/logout 登出接口
/user/login 登录接口
输入用户名、密码
/user/register/verify 注册验证接口
/user/register 预注册接口
用户点击/user/register/verify链接
邮件内容
路径:/register
输入用户名、密码、邮箱
定义UserDTO结构
定义User结构
注释接口参数和返回值
定义四个文件存放四个接口
修改swagger.go文件
接口
登出按钮
登录页面
接口
发送确认注册邮件
预注册页面
用户服务设计 - 模型
接口swagger
用户登录
用户注册
后端开发
模块设计
通用模块(上):用户模块开发

该思维导图由 AI 生成,仅供参考

你好,我是轩脉刃。
上一节课分析了一下问答网站的需求,并且搭建起来了前端和后端框架,我们就来填充这个网站的具体内容。今天要做的是用户模块的开发。用户模块基本是所有系统的基础模块,所以如何开发设计用户模块,希望你一定好好掌握。

模块设计

简单回顾一下用户模块的需求分析,分为两个部分,用户注册和用户登录。我们先细化一下每个部分并且定义好它们的接口。

用户注册

首先是用户注册,它的时序图再放一下:
其中包含两个页面,第一个页面是预注册过程页面,用户在这个页面中输入用户名、密码、邮箱。这个页面的路径我们设置为 /register。
输入用户名密码之后,它会发送一个邮件到用户的邮箱,在这个邮件中会带着一个确认注册的链接,只有通过点击这个链接,你才算完成验证。发送邮件的邮箱,我使用自己注册的一个 126 邮箱,最终邮件内容效果是这样的:
用户点击 /user/register/verify 链接之后,才算正式注册完毕,接着会引导用户进入登录流程。
所以我们梳理一下,预注册这个过程前端和后端一共进行了两次交互,也就是说需要两个接口。
/user/register 预注册接口
用户在这个接口中带着用户名、密码和邮箱到后端。一般这种注册类接口我们会选择使用 POST 方法,它的参数为 username、password、email 三个字段。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文详细介绍了用户模块的开发流程,重点讨论了用户注册和登录两个部分的设计和接口实现。首先,对用户注册进行了详细分析,包括预注册页面和注册验证接口的设计。其次,对用户登录的逻辑和接口进行了梳理,包括登录接口和登出接口的实现。文章强调了接口swagger化和用户服务协议的重要性,突出了技术开发的规范性和可行性。作者还讨论了三种模型的设计方式,即数据库模型(PO)、领域模型(DO)、输出模型(DTO),并提出了将这三种模型合并的优化方法。在开发后端时,作者强调了四个步骤:接口swagger化、定义用户服务协议、开发模块接口、实现用户服务协议。整体而言,本文适合开发人员阅读,能够帮助他们快速了解用户模块开发的关键步骤和技术要点。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《手把手带你写一个 Web 框架》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(2)

  • 最新
  • 精选
  • 宙斯
    看项目情况,老项目或迭代项目并没有做过多考虑,model层就直接和数据库和业务服务层打交道,写业务时会做过多的传输数据的转化。 不复杂的新项目会做基础层,存储层,服务层,聚合层,领域层,访问层,其中通常存储层,服务层,领域层会给出传输对象,不过这也不绝对视情况而定。

    作者回复: 基本上简单的项目就不会过多分层,复杂的项目会考虑多分层模型

    2021-12-02
  • Tron
    登录注册敏感信息不用加密码?
    2023-05-27归属地:四川
收起评论
显示
设置
留言
2
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部