表达宁静的api POST

时间:2019-12-26 04:55:17

标签: node.js express

我在为该列表添加报价时遇到了麻烦,因此用户可以为同一列表发送多个报价。我认为我的sql语句或POST api是错误的,因为当我不断出现内部服务器错误时与邮递员一起运行。任何帮助将不胜感激!

app.js

var express=require('express');
var app=express();

var bodyParser=require('body-parser');
var urlencodedParser=bodyParser.urlencoded({extended:false});

app.use(bodyParser.json()); //parse appilcation/json data
app.use(urlencodedParser);

const users = require("../model/users.js")
const listings = require("../model/listings.js")
app.post("/listings/:id/offers/",(req,res,next)=>{
  listings.insert(req.body,(error,result)=>{
    if(error){
      console.log(error)
      res.status(500).send('{"Results":Internal Error}')
      return;
    }
    console.log(result)
    res.status(200).send(req.body)
    console.log(req.body)
  })
})
module.exports=app;

listing.js

var db = require('./databaseConfig.js');
db = db.getConnection()
var modules = {
    insertOffers: function(listingid,data,callback){
        const insertOfferQuery = "insert into offer_list (offer,fk_listing_id,fk_offeror_id) values (?, ? , ?) ";
        db.query(insertOfferQuery,[data.offer,data.listingid,data.fk_offeror_id],(error,result)=>{
            if(error){
                callback(error,null);
                return;
            }
            callback(null,result);
        })
    }
}

mysql脚本

CREATE DATABASE IF NOT EXISTS assignment_db; USE assignment_db;

CREATE TABLE USER_LIST( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, userName VARCHAR(50) NOT NULL, email varchar(100) NOT NULL, registeredDate timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP );

create table listing_list( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, itemName VARCHAR(50) NOT NULL, itemDescription VARCHAR(254) NOT NULL, price DECIMAL(4,2) NOT NULL, fk_poster_id int references USER_LIST(id), created_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP );

create table offer_list( id int(6) Unsigned auto_increment Primary key, offer int, fk_listing_id int references listing_list(id), fk_offeror_id int references user_list(id), created_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP );

insert into user_list (userName, email) values ('John','johnnyboi@123.com'); insert into user_list (userName, email) values ('Tom','Tommyboi@123.com'); insert into listing_list (itemName,itemDescription, price) values ( 'Pen', 'A long delicate pen.',' 1.50 '); insert into listing_list (itemName,itemDescription, price) values ( 'Pencil', 'A long delicate pencil.',' 0.50 '); insert into offer_list (offer,fk_listing_id,fk_offeror_id) values ('200','2','3'); insert into offer_list (offer,fk_listing_id,fk_offeror_id) values ('200','1','1'); select * from offer_list; select * from listing_list where fk_poster_id = 2;

insert into offer_list (offer,fk_listing_id,fk_offeror_id) values ('300','2','3');

0 个答案:

没有答案