node - express搭建服务、路径参数、req对象中的一些方法

let express = require('express');
let app = express();//express返回一个http的监听函数,就是http.creeateServer中的函数
app.listen(3904,()=>{
    console.log(`开启服务器`)
});//在http.createServer上扩展了一个listen方法,监听客户端

//app监听函数上,扩展了很多方法 包括get post delete put RESTful 风格中的动词
//app.方法名('路径名',fn)
//从上到下匹配如果匹配到了并且结束响应,就不会继续向下走
app.get('/index',function (req,res) {
    res.setHeader('Content-Type','text/plain;charset=utf8');
    res.end('登录')
});
app.post('/login',function (req,res) {
    res.setHeader('Content-Type','text/plain;charset=utf8');
    res.end('登录')
});
app.get('/register',(req,res)=>{
    console.log(req.url);//获取整个路径包括问号
    console.log(req.query);//获取查询参数对象 express扩展的属性
    console.log(req.path);//就是 register
    console.log(req.headers);//获取头部信息,所有的都是小写 express扩展的属性
    console.log(req.method);//请求方式,所有的都是大写
    res.setHeader('Content-Type','text/plain;charset=utf8');
    res.end('注册')
});
//路径参数实现
app.get('/user',(req,res)=>{
    res.setHeader('Content-Type','text/plain;charset=utf8');
    res.end('全选')
});
//路径参数实现,id表示占位符,必须有,但是可以随机
// /user/1/2 => {id:1,name:2} = params 一一对应的关系
app.get('/user/:id/:name',(req,res)=>{
    res.setHeader('Content-Type','text/plain;charset=utf8');
    res.end('路径参数'+req.params.id+req.params.name)
});
/*
* 其他情况
* let url = '/user/3/4/a'; [1,2]
* let url2 = '/user/:id/:name/a'; {id:1,name:2} [id,name]
* */

//all表示所有的方法 * 表示所有的路径,一般放到最后
app.get('*',function (req,res) {
    res.end('404')
});

猜你喜欢

转载自blog.csdn.net/memedadexixaofeifei/article/details/86184649