nodejs入门3:Route

//web服务如何处理一个请求
url->网络->dns解析->目标服务器
如何响应这个请求 => 路由 //规则

定义路由的两种方式:
1、请求的方法来区分 //get、post
const express = require('express')
const app = express()

app.get('/demo',(req,res) => {
	res.json({
		name: 'tom get'
	})
})
app.post('/demo',(req,res) => {
	res.json({
		name: 'tom post'
	})
})
2、通过uri //路径 例:www.baidu.com/a/bc.html 域名后面的部分为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
	})
})

路由api(不止这些)

all
1、无论客户端使用任意的请求方式都可以得到响应
app.all('/demo',(req,res) => {
	res.json({
		name: 'tom',
		method: req.method
	})
})
2、无论客户端使用任意的uri
app.all('*',(req,res) => {
	res.json({
		name: 'tom',
		method: req.method,
		path: req.path
	})
})
use —— 作为中间件使用

1、可以满足api all的功能
app.use('/demo',(req,res) => {
	res.json({
		name: 'tom',
		method: req.method
	})
})
app.use((req,res) => {
	res.json({
		name: 'tom',
		method: req.method,
		path: req.path
	})
})
*虽然可以实现一样的效果,但是这种情况不建议使用use,use主要是作为中间件使用

路由的拆分
app.js // 入口文件

const express = require('express')
const app = express()

const productRouter = require('./product.router')
//注册路由
app.use('/product',productRouter) //第一个参数是防止不同子路由中有相同名字的接口

product.router.js // 按照需求拆分的路由文件

const express = require('express')
const router = express.Router() //router可以看作express的子对象,最终集合到一起

router.get('/list',(req,res) => {
	res.json({
		list: [
			{
				id: 007,
				name: '药水'
			}
		]
	})
})

module.exports = router

学习来源:慕课网 一缕孤烟

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值