从0开始搭建koajs项目(koa-router 的使用)
上一篇文章中的代码运行之后就只能访问一个localhost:9000
咱们整个主题是围绕做一个博客项目开展,最终是要写多个api接口的,这个时候就需要用到路由
比如现在我需要写一个/list的接口
可以使用koa-router进行路由的创建
在根目录下创建文件夹 routes ,在该文件夹下创建index.ts
内部写如下代码将router导出
将当前书写的路由在入口文件app.ts文件内引入路由
这个路由可以使用app.use方法使用
app.use() 将给定的中间件方法添加到此应用程序。app.use()
返回 this
, 因此可以链式表达.
app.ts的代码可以写成下面这样的
app.use(function) 就是将一个个的方法作为中间件push到类似于堆栈中去,然后依次执行传入到app.use里面的方法,而这个app.use这个方法最终会将this再返回出去,所以app.use方法也可以采用链式调用的方法进行使用
index.routes()这个是将index.ts中书写的路由传递到堆栈中进行执行
index.allowedMethods()中间件,主要用于405 Method Not Allowed 这个状态码相关
如果不加这个中间件,如果接口是get请求,而前端使用post请求时,会返回404状态码,接口未定义,如果加了这个中间件,这种情况时,就会返回Method Not Allowed也就是不允许这样调用
下图是不加index.allowedMethods() 这个中间件之后,前端采用post请求之后的结果,显示找不到

加了该中间件之后,再次使用post调用该请求就会是下图中的

通过这两张图的对比,相信大家可以对routes.allowedMethods() 中间件有了比较深入的了解!这一篇关于路由的内容就讲解到这里,下一篇文章再对路由的其他功能展开详细介绍