• Express学习


    Express 定义了如下和 HTTP 请求对应的路由方法: getpostputheaddeleteoptionstracecopylockmkcolmovepurgepropfindproppatchunlockreportmkactivitycheckout,

     mergem-searchnotifysubscribeunsubscribepatchsearch, 和 connect(连接)

    来自 “/secret” 的请求,不管使用 GET、POST、PUT、DELETE 或其他任何 http 模块支持的 HTTP 请求,句柄都会得到执行。

    app.all('/secret', function (req, res, next) {

    路由路径

    路由路径和请求方法一起定义了请求的端点,它可以是字符串字符串模式或者正则表达式

    //字符 ?、+、* 和 () 是正则表达式的子集,- 和 . 在基于字符串的路径中按照字面值解释。

    路由句柄有多种形式,可以是一个函数、一个函数数组,或者是两者混合

    路由句柄

    可以为请求处理提供多个回调函数,其行为类似 中间件。唯一的区别是这些回调函数有可能调用 next('route') 方法而略过其他路由回调函数。可以利用该机制为路由定义前提条件,如果在现有路径上继续执行没有意义,则可将控制权交给剩下的路径。

    使用多个回调函数路由(指定为next对象

     

    多个回调函数:
    eg:
            app.get('/example/b', function (req, res, next) {
            console.log('response will be sent by the next function ...');
            next();
            }, function (req, res) {
            res.send('Hello from B!');
            });    
    

      

     响应方法

    下表中响应对象(res)的方法向客户端返回响应,终结请求响应的循环。如果在路由句柄中一个方法也不调用,来自客户端的请求会一直挂起。

    方法	                     描述
    res.download()	         提示下载文件。
    res.end()	             终结响应处理流程。
    res.json()	             发送一个 JSON 格式的响应。
    res.jsonp()	          发送一个支持 JSONP 的 JSON 格式的响应。
    res.redirect()	         重定向请求。
    res.render()	         渲染视图模板。
    res.send()	            发送各种类型的响应。
    res.sendFile	         以八位字节流的形式发送文件。
    res.sendStatus()          设置响应状态代码,并将其以字符串形式作为响应体的一部分发送。                                
    

    app.route()

    可使用 app.route() 创建路由路径的链式路由句柄由于路径在一个地方指定,这样做有助于创建模块化的路由,而且减少了代码冗余和拼写错误。

      使用 app.route() 定义了链式路由句柄。
    app.route('/book') .get(function(req, res) { res.send('Get a random book'); }) .post(function(req, res) { res.send('Add a book'); }) .put(function(req, res) { res.send('Update the book'); });
  • 相关阅读:
    人脸识别常用的性能评价指标
    【计算机视觉】seetaFace
    【error】'isnan' was not declared in this scope
    【opencv基础】图像的几何变换
    [c++]base64编解码 and image
    【leetcode】232-Implement Queue using Stacks
    【leetcode】231-power-of-two
    C++中vector容器的常用操作方法实例总结
    【leetcode】226-invert-binary-tree
    第3章 文件I/O(2)_文件I/O系统调用及文件描述符
  • 原文地址:https://www.cnblogs.com/chen1997/p/9328430.html
Copyright © 2020-2023  润新知