1.入门

首先最简单的直接抄袭官网的快速开始,常见的三步。1.定义server的断开。2.设置路由对应handle函数。3.设置handle函数

  1. 设置server
  2. 设置对应的处理函数,匿名函数,传入的是ctx是关键
  3. 开始run

路由匹配

参照spring的request param和正则匹配

通过param来获取参数,这个与java@request param取值差不多的思路

还有一种是在?这种参数,查询参数,使用query进行获取

设置register函数

当需要注册的路由太多,我们需要进行调用的server.get次数就会很多次。可以进行抽象出来一个方法,放到专属的类,每一个路由都在类里面就有处理方法。

下面就是优雅之后的代码。

分组路由

相当于spring的requestmapping放入到类最前面的路径

通过ug来接着子路径

数据接受

vo传输

与java类似,传输数据前后端,使用的需要vo,pojo来进行json传输数据。不同的是java可以自动封装传输的数据位class对象,这边需要把前后端的进行映射才能组装位vo,使用的是反引号·

这个也与email小写就是私有变量有关,所以需要进行编码

绑定接受

主要是在ctx数据,调用ctx来进行绑定数据

业务处理

使用正则进行校验密码是否符合规则

之后直接调用这些

跨域问题

后端的是8080端口,前端的是3000端口,这就设计到跨域问题

csrf,这个时候需要引入中间件,设置cors可以进行访问对应的路径

解决的方案使用preflight,就是发给server后,server返回我接受3000所有发过来的方法。

通过这里middleware进行注册,授权访问。

相当于spring的filter,这里面来进行处理,在这个allow里面进行允许,3000的端口

gorm入门

最终的数据操作还是要落到数据库的crud,所以需要gorm

0、docker安装mysql

使用docker-compose来进行安装,这里基本上,就是构建操作的image,映射的端口还有volume。这个相当于节省了自己写docker命令,

快速入门

  1. 定义连接
  2. 定义对应的class
  3. 操作数据对象

class对象定义

这里用到组合的语法,传入class,不加变量就是组合,之后自定义自己需要的变量

service-repository-dao

相当于mvc的三层操作方法,repository表示database和redis,都是可以进行返回数据的地方,dao才是最终去数据的操作。

web文件夹是相当于视图层了,service代表业务的完整流程,class变成其他的class。