文章目录
认识Express
yarn add express -S
根目录下新建server.js
书写js代码,node serve.js
即可成功运行
快速上手路由
server.js
const express = require('express')
const app = express()
app.get('/', function (req, res) {
res.send([
{
user: 'zhangsan' }
])
})
app.get('/about', function (req, res) {
res.send(
{
page: 'About us' }
)
})
app.get('/products', function (req, res) {
res.send([
{
id: 1, title: 'Product A' },
{
id: 2, title: 'Product b' },
{
id: 3, title: 'Product c' },
])
})
app.listen(3000, () => {
console.log('http://localhost:3000')
})
静态文件托管
CORS跨域请求
npm i cors
||
yarn add cors
app.use(require('cors')())
MongoDB基础
npm i mongoose
server.js
部分代码
const mongoose = require('mongoose')
mongoose.set('strictQuery', false)
mongoose.connect('mongodb://127.0.0.1:27017/express-test', {
useNewUrlParser: true, useUnifiedTopology: true })
// 定义模型
const Product = mongoose.model('Product', new mongoose.Schema({
title: String
}))
// Product.insertMany([
// { title: '产品1' },
// { title: '产品2' },
// { title: '产品3' },
// ])
app.use(require('cors')())
app.use('/', express.static('public'))
app.get('/products', async function (req, res) {
res.send(await Product.find())
})
find()
MongoDB查询
通过id来查询
app.get('/products/:id', async function (req, res) {
const data = await Product.findById(req.params.id)
res.send(data)
})
MongDB新增产品和POST请求
app.post('/products', async function (req, res) {
const data = req.body
const product = await Product.create(data)
res.send(product)
})
在根目录下新建test.http
@uri=http://localhost:3000/
GET {
{uri}}products
###
GET {
{uri}}products/63c2d778fe577e541a190078
###
POST {
{uri}}products
Content-Type: application/json
{
"title": "产品4"
}
MongoDB修改产品和PUT请求
app.put('/products/:id', async function (req, res) {
const product = await Product.findById(req.params.id)
product.title = req.body.title
await product.save()
res.send(product)
})
MongoDB删除产品和DELETE请求
app.delete('/products/:id', async function (req, res) {
const product = await Product.findById(req.params.id)
await product.remove()
res.send({
success: true
})
})