【发布时间】:2021-04-27 14:01:39
【问题描述】:
这是我的 service.ts 文件
import { Injectable } from "@angular/core";
import { HttpClient } from "@angular/common/http";
import { Items } from "./inventory.model";
import { Router } from "@angular/router";
import { environment } from "../../../environments/environment";
const BACKEND_URL = environment.APIUrl + "/Items/";
@Injectable({
providedIn: "root",
})
export class InventoryService {
constructor(private http: HttpClient, private router: Router) {}
addItem(
itemNo: string,
itemName: string,
maker: string,
unitPrize: string,
sellingPrize: string,
Qty: string
) {
const ItemData = new FormData();
ItemData.append("itemNo", itemNo);
ItemData.append("item_name", itemName);
ItemData.append("maker", maker);
ItemData.append("unitPrize", unitPrize);
ItemData.append("sellingPrize", sellingPrize);
ItemData.append("Qty", Qty);
this.http
.post<{ message: string; items: Items }>(
BACKEND_URL,
ItemData
)
.subscribe((responseData) => {
console.log(responseData);
});
}
}
这是我在后端路由中的 item.js
const express = require("express");
const ItemController = require("../controllers/item");
const bodyParser = require('body-parser');
const router = express.Router();
router.post("", ItemController.savepost);
这是我在 Controller 中的 Item.js 文件
const ItemModel = require('../models/item');
exports.savepost = (req, res, next) => {
if(Object.keys(req.body).length === 0)
{
console.log(req.body);
}
const items = new ItemModel({
item_no: req.body.itemNo,
item_name: req.body.itemName,
maker: req.body.maker,
unitPrize: req.body.unitPrize,
sellingPrice: req.body.sellingPrize,
Qty: req.body.Qty,
});
console.log(items.item_no);
items.save().then(addItem => {
res.status(201).json({
message: "Item added Successfully",
items: {
...addItem,
id: addItem._id
}
});
}).catch(error => {
res.status(500).json({
message: error
})
}
);
}
这是我的物品模型
const mongoose = require('mongoose');
const itemSchema = new mongoose.Schema({
item_no: { type: String, required: true },
item_name: { type: String, required: true },
maker: { type: String, required: true },
unitPrize: { type: Number, required: true },
sellingPrice: { type: Number, required: true },
Qty: { type: Number, required: true },
});
module.exports = mongoose.model('Items',itemSchema);
响应错误显示这样的消息
项目验证失败”,消息:“项目验证失败:item_no:路径 item_no 是必需的。项目名称:路径 item_name 是必需的。制造商:路径 maker 是必需的。,unitPrize:路径unitPrize 为必填项,salesPrice:路径sellingPrice 为必填项,数量:路径Qty 为必填项。",
【问题讨论】:
标签: node.js angular express mongoose angular10