当我使用 post request 时,它只发布 null 我使用 postman
app.post("/books",async (req,res)=>{
try{
const {book_name,book_author,book_desc} = req.body;
const newBook = await pool.query("INSERT INTO library(book_name,book_author,book_desc) VALUES($1,$2,$3) RETURNING *",
[book_name,book_author,book_desc]);
res.json(newBook.rows[0]);
}
catch(err){
console.error(err.message);
}
})
这是邮递员的代码和输出:
{ "book_name": "abc", "book_author": "def", "book_desc": "gjl"
}
输出:
{ "book_id": 1, “书名”:空, “书作者”:空, “book_desc”:空 }
答案 0 :(得分:1)
您缺少 json
解析器,因此您的 req.body 没有获得 book_name、book_author 和 book_desc。
在邮政编码前使用 json()
中间件,您就可以开始了。
对于 TS:
import express, { json } from "express";
app.use(json()) // use json parser to convert the body to json for upcoming method to consume
app.post("/books",async (req, res)=>{
...
})
对于JS:
const express = require('express');
app.use(express.json())
app.post("/books",async (req, res)=>{
...
})