• node环境下express路由,


    1.基本路由概念

    路由是指确定应用程序如何响应对特定端点的客户端请求,该请求是URI(或路径)和特定HTTP请求方法(GET,POST等)。

    每个路由都可以有一个或多个处理函数,这些函数在路由匹配时执行。

    路径定义采用以下结构:

    app.METHOD(PATH, HANDLER),
    • app是一个实例express
    • METHOD是一个HTTP请求方法,小写。
    • PATH 是服务器上的路径。
    • HANDLER 是路由匹配时执行的功能。


    2.请求前后台数据接受处理

    app这里是一个继承过来的实例express对象

    app.get(路径,(req,res)=>{})处理get请求;

    app.post(路径,(req,res=>{}))处理post请求;

    post请求的时候接受数据的时候通过  req.body进行接受;

    get 请求的时候接受数据的时候通过  req.query进行接受;

    1、res.json([body]) 
    发送一个json的响应。这个方法和将一个对象或者一个数组作为参数传递给res.send()方法的效果相同。不过,你可以使用这个方法来转换其他的值到json,例如null,undefined。(虽然这些都是技术上无效的JSON)。

    res.json(null);
    res.json({user:'tobi'});
    res.status(500).json({error:'message'});

    2、res.send([body]) 
    发送HTTP响应。body参数可以是一个Buffer对象,一个字符串,一个对象,或者一个数组。比如:

    res.send(new Buffer('whoop'));
    res.send({some:'json'});
    res.send('<p>some html</p>');
    res.status(404).send('Sorry, we cannot find that!');
    res.status(500).send({ error: 'something blew up' });

    res.send(new Buffer('whoop'));
    res.send({some:'json'});
    res.send('<p>some html</p>');
    res.status(404).send('Sorry, we cannot find that!');
    res.status(500).send({ error: 'something blew up' });

    3、res.send( )和res.json( )的区别

    当传递对象或数组时,这两个方法是相同的,但是res.json()也会转换非对象,如null和undefined,这些无效的JSON。

    该方法还使用json replaceacer和json spaces的设置,因此您可以使用更多选项格式化JSON。 例如:

    app.set('json spaces', 2);
    app.set('json replacer', replacer);

    ------------------------------------------

    您可以使用Express app对象的方法定义路由,这些方法对应于HTTP方法; 例如,app.get()处理GET请求和app.post处理POST请求。有关完整列表,请参阅app.METHOD您还可以使用app.all()来处理所有HTTP方法,并使用app.use()将中间件指定为回调函数(有关详细信息,请参阅使用中间件)。

    这些路由方法指定当应用程序收到对指定路由(端点)和HTTP方法的请求时调用的回调函数(有时称为“处理函数”)。换句话说,应用程序“侦听”与指定路由和方法匹配的请求,并且当它检测到匹配时,它调用指定的回调函数。

    实际上,路由方法可以有多个回调函数作为参数。使用多个回调函数时,重要的是提供next回调函数的参数,然后next()在函数体内调用以将控制权交给下一个回调。

    以下代码是一个非常基本的路由示例。

  • 相关阅读:
    Spring 由哪些模块组成?
    spring 支持哪些 ORM 框架 ?
    @Autowired 注解有什么用?
    spring JDBC API 中存在哪些类?
    有哪些类型的通知(Advice)?
    @Component, @Controller, @Repository, @Service 有何区别?
    @Qualifier 注解有什么用?
    什么是 Aspect?
    什么是通知(Advice)?
    spring bean 容器的生命周期是什么样的?
  • 原文地址:https://www.cnblogs.com/Mickey697/p/10264257.html
Copyright © 2020-2023  润新知