欢迎光临散文网 会员登陆 & 注册

从0开始搭建koajs项目(koa-router 的使用)

2023-03-30 11:04 作者:岁月静好sandra  | 我要投稿

上一篇文章中的代码运行之后就只能访问一个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() 中间件有了比较深入的了解!这一篇关于路由的内容就讲解到这里,下一篇文章再对路由的其他功能展开详细介绍





从0开始搭建koajs项目(koa-router 的使用)的评论 (共 条)

分享到微博请遵守国家法律