web后端----后端框架基本架构、基本流程

web后端----后端框架基本架构、基本流程 这里写目录标题声明后端框架环境最简单的一个框架简介关于端口号关于注册路由继续扩展最简单的框架使用MVC三层架构以“做一个需求”为例API接口设计模式设计接口文档如已有接口文档可以跳过简介RESTful API本需求的API示例按照接口文档注册上路由controller层处理函数的实现server层用数据库持久化数据dao层视频学习地址声明后端的框架都是一通百通我们现在先了解一下一个后端框架普遍上会有什么以及我们使用一个主流的后端框架基本上需要做哪些工作后续会以C框架oatpp为主详见下篇文章本次教程先以js框架入手因为代码比较简单可以避免喧宾夺主最好可以先去看了专栏内的《web后端----HTTP协议与浏览器》《web后端----接口文档》《web后端----三层架构》后端框架环境最简单的一个框架简介1、首先创建了一个Express实例2、之后指定开放的端口号3、相当于在注册路由4、启动服务器并在后端控制台打印http://localhost:{port}这个是本地web后端服务的根 URL关于端口号就是访问你web服务时首先就要输入web服务的ip:端口号此处由于是本机所以使用localhost代替本机ip他们是所有“请求资源URL”的根而他们也可以用域名代替如www.baidu.com关于注册路由首先来看什么是路由如上图1、的解释而注册路由就是先规定好当收到某种**“方法URL”时要去哪个业务处理函数中处理后续的工作这里要注意注意点1不是仅仅一个URL而是方法URL注意点2URL指定的是相对于“根URL”后续的路径**如上面的/users实际上前面会拼上http://{IP:Port}如本例中是http://localhost:8090/users上图中1、注册一个根路由即当对方发来的是get 根URL后续放入哪个函数处理当用户直接进入一个网址时一般就是get 根URL而此处简化了函数处理直接用了一个匿名函数函数内直接返回了一个“Hello World!”2、注册一个get根URL/a/b的一个路由处理函数返回“Hello World! 123”继续扩展最简单的框架使用MVC三层架构以“做一个需求”为例简单分析其中获取xxx属于get请求创建xxx属于post请求删除xxx属于delete请求API接口设计模式设计接口文档如已有接口文档可以跳过简介我们要为上面的每一个需求设计一个API接口相当于接口文档前后端都要看都要遵循RESTful API我们采用最常见的一种API风格RESTful API他包含两部分资源和方法其实就是URL和请求方法跟我们之前理解的一样但是他具体规定了URL和请求方法的设计思路我们知道URL是请求路径是唯一标识但是我们并不知道怎么设计URL现在这个规定了URL怎么设计URL设计规则1、URL要以资源为中心如下图接口文档中URL设计时要为每个资源设计一个唯一的URL之后操作该资源就用这个唯一的URL如查询所有用户涉及到的资源是users查询单个用户涉及到的资源就是users/{id}而 创建新用户也是用users因为id是进入数据库之后自增的但更新用户就需要定位到某个id同时注意有的用get有的用post2、URL标识层次结构和关系上图也体现了本需求的API示例按照接口文档注册上路由controller层注意点1上面的“请求方法”体现在函数名上注意点2对于变量式URL如todos/{id}要使用特殊的字符标注本例子中的框架是**:id**这个冒号PS上图中的接口只是定义了路由还没有进行处理函数的实现处理函数的实现server层例子1获取指定ID的todoget可以看到对URL注册了一个匿名函数该函数进行了具体的实现大概就是拿到id之后查询对应id对应的信息封装成json并进行返回例子2添加一个todo这里也是对URL注册的函数进行一个业务实现1、一般post请求都会带有请求体拿到请求体的数据要添加的数据2、将这个请求体要添加的数据创建成一条记录3、将该记录添加到数据库此处只是先用全局数组模拟4、返回状态码以及一些json信息5、这个是如果请求体中缺少“添加”所需要的不可少的数据会返回错误的状态码以及json信息用数据库持久化数据dao层将上面server中对数据的操作进行修改原本是使用全局数组现在改为sql操作视频学习地址https://www.bilibili.com/video/BV1k4421Z7d2/?spm_id_from333.1007.top_right_bar_window_history.content.clickvd_source775f826eaffd2d6cab17e6a5cc2b9878