这是我参与「第五届青训营 」笔记创作活动的第3天;
今天进展很大,完成了大项目个人负责部分的开发,即登录、注册和安全校验。
笔者所在团队讨论并决定选型使用Herze对JWT标准的支持做用户鉴权。不得不说Herze的易用性真的强,可以使“零基础”的笔者轻松上手并支持项目开发,下面来介绍这一天的学习曲线与心路历程。
Herze-examples
实践是最好的学习方法,Herze提供了丰富的开箱即用的功能模块Demo(地址如下:github.com/cloudwego/h… ),通过对这些简易项目的阅读和运行使用,快速上手Herze实践开发。
但还是踩了一些坑的。比如说项目运行环境的问题,首先像herze-gorm项目是需要MySQL依赖的。项目采用docker装载MySQL镜像,这又需要本地跑起来docker服务。而这些都需要去翻阅相关文档,这一步是学习和消化的过程。
配置好相关环境后,在Demo项目所在目录命令行输入docker-compose up启用数据库镜像,然后go build构建编译项目文件,直接执行生成的可执行文件便可在8888端口上访问Herze提供的API服务了。
Postman
另外对于后端API的功能效果不能像前端一样直接在浏览器可视化出来,需要使用一些工具去发Http请求,这里推荐用Postman,简单易上手且功能强大的API调试工具。
笔者也是第一次使用,之前都是curl或写代码发请求,或者干脆在浏览器里输入网址发一下不带参数的Get请求(真的可以这样,简单易行测试连通性),也是踩了些坑的。
首先建议下载Postman客户端(下载地址:www.postman.com/downloads/ ),而不是使用网页版,因为测本地端口可以直接在客户端使用localhost代替本机IP,不必去翻自分配的本机IP。
JWT
JWT(JSON Web Token)是一种Token实现标准,标准规定Token由Header、Payload和Signature三个部分组成并经由base64编码而成。
Herze对JWT的支持是提供了一个JWT中间件,以提供封装过的LoginHandler的方式实现Token生成与回传。开发者只需实现相应接口即可使用JWT服务。
关键接口介绍:github.com/hertz-contr…