koa-router 中使用路由参数时会遇到一个问题,就是像下面的代码在没有传入 id 是会报 404 错误

router.get('/:id', (err, ctx, next) => {
// write your code;
});

默认情况下这就是 path variable 参数模式

如果想要 id 这个参数传入做一件事,不传 id 也可以运行并且去做另一件事的话

此时就需要使用  query parameter 参数模式,即 (/:id?)即可,如下:

router.get('/:id?', (err, ctx, next) => {
// write your code;
});

这样子就可以根据传入 id 去做某些事,不传 id 去做另一些事情了,是不是很爽呢!

传入多个参数是也一样:

不输入时

当输入一个参数时

输入两个参数试试

再来三个!,不信玩不坏你!!!

额。。。你赢了 koa-router,不对!你虽然可以传任意多个参数,但是我现在要间隔者传参数,我要传第一个和第三个参数,或者直接传第二个参数,你行不行了呢?我觉得你不行!

嗯... 口说不行,直接来代码吧!

还是刚才那个路由:

这次直接传第二个参数,id 那个就不传了,直接到 name 值看看

嘿嘿嘿,(●´∀`●),不行了吧!看来我赢了啊,回头记得请我吃饭哦,不然我可不陪你玩了!

什么,请不起我吃饭!要不要这样啊,那么多人陪你玩就没有几个捐一点给你吗?

好啦好啦,不逗你了,这样吧,给你降低点难度,你要是在我只输入空格的情况下能给我返回数据我就免了你这顿饭了

看看你行不行啊:

请告诉我,这个。。。干嘛要把我的空格给变成 %20 了,不好看啊,就一个空格不好吗?

算了算了,不和你计较了,总之你欠我一顿饭,就这么说定了,等我把代码写完就来找你哈,你可别跑了啊。

koa-router中路由/后面不填参数就会报404的解决办法的更多相关文章

  1. VMware虚拟机中的CentOS7安装Nginx后本机无法访问的解决办法

    VMware虚拟机中的CentOS7安装Nginx后本机无法访问的解决办法 在linux上安装nginx 请参考:Linux Centos7 安装 nginx 在虚拟机centos7上安装nginx之 ...

  2. IOS 开发中 Whose view is not in the window hierarchy 错误的解决办法

    在 IOS 开发当中经常碰到 whose view is not in the window hierarchy 的错误,该错误简单的说,是由于 "ViewController" ...

  3. eclipse项目中关于导入的项目里提示HttpServletRequest 不能引用的解决办法

    eclipse项目中关于导入的项目里提示HttpServletRequest 不能引用的解决办法 当使用eclipse导入外部的web工程时,有时会提示HttpServletRequest, Serv ...

  4. eclipse中的js文件报错的解决办法

    在使用别人的项目的时候,导入到eclipse中发现js文件报错,解决办法是关闭eclipse的js校验功能. 三个步骤: 1. 右键点击项目->properties->Validation ...

  5. 向SDE图层中添加大量数据时,出现ORA-00604以及ORA-01000的解决办法

    转自原文 向SDE图层中添加大量数据时,出现ORA-00604以及ORA-01000的解决办法 写了一个小程序,从一个列表中读取坐标串,每个坐标串生成一个IPolygon,然后将这些Polygon添加 ...

  6. ie、firefox、chrome中关于style="display:block" 引发的页面布局错乱的解决办法

    ie.firefox.chrome中关于style="display:block" 引发的页面布局错乱的解决办法: table中tr 添加style="display:b ...

  7. Bootstrap中关闭第二个模态框时出现的问题和解决办法

    Bootstrap中关闭第二个模态框时出现的问题和解决办法 1.关闭第二个模态框时,第一个模态框跟着消失. 解决办法: 第二个模态框的代码不要写在第一个模态框里面,确保两个模态框相对独立; 2.关闭第 ...

  8. Eclipse中自动提示的方法参数都是arg0,arg1的解决方法

    Eclipse中自动提示的方法参数都是arg0,arg1,就不能根据参数名来推断参数的含义,非常不方便. 解决方法:Preferences->Java->Installed JREs,发现 ...

  9. 15SpringMvc_在业务控制方法中写入模型变量收集参数,且使用@InitBind来解决字符串转日期类型

    之前第12篇文章中提到过在业务控制方法中写入普通变量收集参数的方式,也提到了这种凡方式的弊端(参数很多怎么办),所以这篇文章讲的是在业务控制方法中写入模型变量来收集参数.本文的案例实现的功能是,在注册 ...

随机推荐

  1. centos7安装nagios步骤

    一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报 ...

  2. Hbuilder开发移动App(1)

    奇妙的前端,奇妙的js 众所周知,自从js有nodejs后,前端人员可以华丽的转身,去开发高并发非阻塞的服务端程序, 随着html5的出现,伴随一些amazing的特性,h5开发app的技术越发的成熟 ...

  3. .net 图片压缩

    压缩图片方法: /// <summary> /// 生成缩略图 /// </summary> /// <param name="originalImagePat ...

  4. Map的迭代

    public static void main(String[] args) { Map<String, Integer> map = new HashMap<String, Int ...

  5. 速成制作rpm包

    FPM 由于很多软件在安装时需要编译,这会浪费不少的时间,为了提升部署效率,于是就想到制作rpm包.通常rpm包的制作是使用rpmbuild命令来制作,但是你需要知道它的语法,比较繁琐.这就用到了FP ...

  6. Python数据处理进阶——pandas

    对于python进行数据处理来说,pandas式一个不得不用的包,它比numpy很为强大.通过对<利用python进行数据分析>这本书中介绍pandas包的学习,再加以自己的理解,写下这篇 ...

  7. LeetCode 84. Largest Rectangle in Histogram 直方图里的最大长方形

    原题 Given n non-negative integers representing the histogram's bar height where the width of each bar ...

  8. 深入浅出学习HTTP协议

    之前学习javaWeb只是大致了解了一下,今天重点介绍下http请求,当是复习吧! 一.http基础概念 1.什么是http协议? HTTP是Hyper Text Transfer Protocol( ...

  9. SDN学习之RYU源码安装

    近些天开始接触SDN,即软件定义网络的学习,由于是初学者,想通过写博客来分享自己对sdn学习中所使用的ryu以及mininet仿真软件. Mininet源码安装: 尽管网上对mininet的安装教程很 ...

  10. 创建并发布npm包

    1.npm官网创建npm账户 npm网站地址:https://www.npmjs.com/ npm网站注册地址:https://www.npmjs.com/signup 2.命令行工具登录npm np ...