从零用go语言手写web框架nio

        大家好,今天手写了一个精简的web框架nio,主要借鉴了gin框架极简的特点,实现方式却gin用很大差异,nio虽然比较精简,但是麻雀虽小,五脏俱全

        (注:这套框架开发的项目需要有go语言http库的知识和web后端开发的经验和并熟悉相应工作流程)

        首先介绍一个相对成熟的web框架的主要部分,1.请求处理,2.上下文信息,3.路由分块,4.中间件,5.模板渲染 ,6.静态资源渲染,7.异常处理     

        OK,我们现在开始

1.初始化项目结构

从零用go语言手写web框架nio_第1张图片

 2.完成nio框架的程序初始化

 接下来,我们先完成nio模块里面的nio.go,主要是写一些关于nio框架以后所需要的全局变量template和传递上下文信息的Context结构体,block是用于对请求的路由分块,Init()方法是用于初始化nio框架用的,Run()方法来启动nio框架

3.完成nio框架对客户端请求响应所需的方法

 4.执行路由所有的中间件和当前路由绑定方法

 5.完成客户端不同类型的请求

 

 

 6.加载模板

从零用go语言手写web框架nio_第2张图片

 然后我们打开我之前在nio.go文件里注释的loadTemplate()方法

实现api.go文件里的HTML()方法

7.错误处理

 然后我们打开我之前在handle.go文件里注释的loadTemplate()方法

8.nio框架完成

9.nio框架测试

从零用go语言手写web框架nio_第3张图片

 新建html和image目录,并完成其子目录和子文件的创建,test目录中新建main.go文件(注:html目录和image目录并不属于nio框架的一部分,只是用来测试用的)

从零用go语言手写web框架nio_第4张图片

 OK,我们已经完成了nio框架的开发,是不是很有意思呢

你可能感兴趣的:(实现框架,nio,golang,架构,restful,http)