路由规则

express 封装了多种 http 请求方式,我们主要只使用

get

post

两种。 get 和 post 的第一个参数都为请求的路径,第二个参数为处理请求的回调函数,回调函数有两个参数分别是 req 和 res,代表请求信息和响应信息 。路径请求及对应的获取路径有以下几种形式:

req.query

// GET /search?q=tobi+ferret  
req.query.q  
// => "tobi ferret"

// GET /shoes?order=desc&shoe[color]=blue&shoe[type]=converse  
req.query.order  
// => "desc"

req.query.shoe.color  
// => "blue"

req.query.shoe.type  
// => "converse"

req.body

// POST user[name]=tobi&user[email]=tobi@learnboost.com  
req.body.user.name  
// => "tobi"

req.body.user.email  
// => "tobi@learnboost.com"

// POST { "name": "tobi" }  
req.body.name  
// => "tobi"

req.params

// GET /user/tj  
req.params.name  
// => "tj"

// GET /file/javascripts/jquery.js  
req.params[0]  
// => "javascripts/jquery.js"

**req.param(name)**

// ?name=tobi  
req.param('name')  
// => "tobi"

// POST name=tobi  
req.param('name')  
// => "tobi"

// /user/tobi for /user/:name   
req.param('name')  
// => "tobi"

不难看出:

  • req.query

    : 处理 get 请求

  • req.params

    : 处理 /:xxx 形式的 get 请求

  • req.body

    : 处理 post 请求

  • req.param()

    : 可以处理 get 和 post 请求,但查找优先级由高到低为req.params→req.body→req.query

路径规则还支持正则表达式,更多请查阅:http://expressjs.com/api.html

express的路由规则的更多相关文章

  1. express的路由

    就是 app.get().app.post().app.all()啦,啦啦啦 (其中,var express = require("express"); var app = exp ...

  2. express 的路由学习

    使用步骤 - :获取路由中间件对象 `let router = express.Router();` - :配置路由规则 `router.请求方式(URL,fn事)` - fn中参数有req,res, ...

  3. MVC系列——MVC源码学习:打造自己的MVC框架(三:自定义路由规则)

    前言:上篇介绍了下自己的MVC框架前两个版本,经过两天的整理,版本三基本已经完成,今天还是发出来供大家参考和学习.虽然微软的Routing功能已经非常强大,完全没有必要再“重复造轮子”了,但博主还是觉 ...

  4. 【基础】MVC路由规则

    一.RouteData解析过程 在ASP.NET MVC中,服务器收到来自客户端的请求后,会经过一些列的处理拿到请求的数据,比如在Pipeline 管线事件中,通过订阅适当的事件,将HttpConte ...

  5. NLog路由规则和上下文信息

    NLog配置路由规则和上下文信息 rules: 规则节点 logger:一个路由规则 <rules> <!--<logger name="*" writeT ...

  6. mvc中多参数URL会很长,首次加载不传参数让url很短,路由规则实现方法[bubuko.com]

    如要实现列表中地址全路径“bubuko-11-2.html”,在首次进入时,使用短路径“bubuko.html”,只有再次href后才显示全路径“bubuko-11-2.html”,下面使用路由规则来 ...

  7. MVC之路由规则 (自定义,约束,debug)

    自定义路由规则的要求,小范围写在前,大范围写在后.路由规则可以注册多条,路由规则的名称不能重复路由规则有顺序,并且按照顺序进行匹配,建议小范围写在前,大范围写在后.路由规则可以设置约束 即正则表达式路 ...

  8. C# MVC ( 添加路由规则以及路由的反射机制 )

    在项目文件夹下找到 App_Start 下 找到 RouteConfig.cs文件 打开   (1) 约束的规则 从上往下 贪婪性   (2) 用 routes.MapRoute(...) 添加   ...

  9. ASP.NET MVC路由规则

    1 是从上往下寻找路由规则的 2 如果上面的匹配了,则下面的不会匹配 3 假如域名是www.startpress.cn 路由规则是 routes.MapRoute( name: "Defau ...

随机推荐

  1. [JS Compse] 4. A collection of Either examples compared to imperative code

    For if..else: const showPage() { if(current_user) { return renderPage(current_user); } else { return ...

  2. Apache+tomcat的整合 分类: C_OHTERS 2014-05-07 15:08 293人阅读 评论(0) 收藏

    http://blog.csdn.net/stefyue/article/details/6918542 为什么要做这个整合呢?当然,首先想到是就是Apache和Tomcat的区别.正因为有区别,有各 ...

  3. 【37.21%】【codeforces 721B】Passwords

    time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  4. RSA算法原理(转)

    如果你问我,哪一种算法最重要?我可能会回答“公钥加密算法”.因为它是计算机通信安全的基石,保证了加密数据不会被破解.你可以想象一下,信用卡交易被破解的后果. 进入正题之前,我先简单介绍一下,什么是”公 ...

  5. HDU 5387 Clock(分数类+模拟)

    题意: 给你一个格式为hh:mm:ss的时间,问:该时间时针与分针.时针与秒针.分针与秒针之间夹角的度数是多少. 若夹角度数不是整数,则输出最简分数形式A/B,即A与B互质. 解析: 先计算出总的秒数 ...

  6. java获取访问路径、域名、项目名、请求入参

    废话不多说(这句不是废话吗>>),直接提出可以运行的类,你放到一个web项目访问下就知道了. //测试页面-跳转到输入数据的form表单 public String test1(){ Ac ...

  7. dom对象常用的属性和方法有哪些?

    dom对象常用的属性和方法有哪些? 一.总结 一句话总结: 1.document属性和方法:document的属性有head,body之类,方法有各种获取element的方法 2.element的属性 ...

  8. asp.net core2.1 部署centos7/linux系统 -- 安装部署(一)

    原文:asp.net core2.1 部署centos7/linux系统 -- 安装部署(一) 1.安装dotnet sdk(添加产品秘钥与yum源) 添加yum源:sudo rpm -Uvh htt ...

  9. 雷观(十):管理自己的任务列表(TodoList)很重要

    由幼年,到青年,再到成年,你会发现自己有越来越多的事情要做.参加工作后,很可能要在多个战线上同时忙碌. 最常见的有,工作(可能会加班加点).爱情(不少人忙着恋爱,需要花费很多心思).个人娱乐(玩游戏看 ...

  10. 【b501】谁拿了最多的奖学金

    Time Limit: 1 second Memory Limit: 50 MB [问题描述] 某校的惯例是在每学期的期末考试之后发放奖学金.发放的奖学金共有五种,获取的条件各自不同:1) 院士奖学金 ...