NodeJS - 路由1
文章目录
一、响应
1、通过请求的方法类型,get/post/put/delete
const express = require('express');
// app 是一个 express 实例
const app = express();
// 1、通过请求的方法类型,get/post/put/delete
app.get('/demo', (req, res)=>{
res.json({
message:'hello express route from get demo'
})
})
app.post('/demo', (req, res)=>{
res.json({
message:'hello express route from post demo'
})
})
app.listen(3000, ()=>{
console.log("server setup")
})
2、使用 uri
const express = require('express');
// app 是一个 express 实例
const app = express();
// 2. 通过 uri
app.get('/user/byname', (req, res)=>{
let {name} = req.query;
res.json({
name
})
})
app.post('/user/byid', (req, res)=>{
let {id} = req.query;
res.json({
id
})
})
app.listen(3000, ()=>{
console.log("server setup")
})
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NQwxV8mJ-1588082711367)(NodeJS%20-%20%E8%B7%AF%E7%94%B1.assets/image-20200425081903756.png)]
3、响应任何 uri
const express = require('express');
// app 是一个 express 实例
const app = express();
// 2. 通过 uri --> 路径
// 需要定义一个 api/路由,需要满足客户端无论使用什么方式(get/post/put/delete),都可以得到响应
app.get('/user/byname', (req, res)=>{
let {name} = req.query;
res.json({
name
})
})
app.post('/user/byid', (req, res)=>{
let {id} = req.query;
res.json({
id
})
})
app.listen(3000, ()=>{
console.log("server setup")
})
4、使用app.all
响应不同类型的请求
const express = require('express');
const app = express();
app.all('/demo', (req, res)=>{
res.json({
message:'hello express route from all demo',
method:req.method,
})
})
app.listen(3000, ()=>{
console.log("server setup")
})
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d1LpTBiZ-1588082711369)(NodeJS%20-%20%E8%B7%AF%E7%94%B1.assets/image-20200425082248282.png)]
5、app.all
+ *
响应任何请求
const express = require('express');
// app 是一个 express 实例
const app = express();
// app.use((req, res)=>{
// res.json({
// name:"张三"
// })
// })
// 1、通过请求的方法类型
app.all('/demo', (req, res)=>{
res.json({
message:'hello express route from all demo',
method:req.method,
uri:req.path,
})
})
// 任何的请求都可以响应
app.all('*', (req, res)=>{
res.json({
message:'hello express route from *',
method:req.method,
uri:req.path,
})
})
app.listen(3000, ()=>{
console.log("server setup")
})
-
请求 http://127.0.0.1:3000/demo 返回
{"message":"hello express route from demo","method":"GET","uri":"/demo"}
-
请求 http://127.0.0.1:3000/demo1 返回
{"message":"hello express route from *","method":"GET","uri":"/demo1"}
6、app.use
作为中间件
尽量不要作为 全局路由使用,只是作为中间件使用更好。
const express = require('express');
// app 是一个 express 实例
const app = express();
// 1、通过请求的方法类型
app.use('/demo', (req, res)=>{
res.json({
message:'hello express route from all demo',
method:req.method,
uri:req.path,
})
})
app.listen(3000, ()=>{
console.log("server setup")
})
const express = require('express');
// app 是一个 express 实例
const app = express();
// 1、通过请求的方法类型
app.use((req, res)=>{
res.json({
message:'hello express route from all demo',
method:req.method,
uri:req.path,
})
})
app.listen(3000, ()=>{
console.log("server setup")
})
访问 http://127.0.0.1:3000/demo, 返回:
{"message":"hello express route from all demo",
"method":"GET",
"uri":"/demo"}