node环境下express路由,

前提是你 提交于 2020-03-11 16:24:00

 

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()在函数体内调用以将控制权交给下一个回调。

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!