gpt4 book ai didi

javascript - Node js Rest API 返回错误,显示 'Cannot POST/api/v1/user'

转载 作者:太空宇宙 更新时间:2023-11-04 03:04:20 25 4
gpt4 key购买 nike

我正在尝试使用node js为rest api创建post方法,但它说cannot post/api/v1/user in postman and insomnia,但在控制台中没有错误,有人可以帮助我吗?

这是我的代码

服务器.js

// require dependencies
var app = require('express')();
var http = require('http').Server(app);
var mysql = require('mysql');
var bodyParser = require("body-parser");
// end require


app.use(bodyParser.urlencoded({extended: false}));
app.use(bodyParser.json());
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Methods", "GET,POST,DELETE,PUT");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});

// load controller
var welcome = require('./controllers/welcome.js');
var users = require('./controllers/user_controller.js');
// end of load controller

// This is the API Route

// Base Route
app.get('/api/v1', welcome.getApi);

// User Route
app.post('api/v1/user', users.post);


http.listen(8080,function(){
console.log("Connected & Listen to port 8080");
});

user_model.js

var mysql = require('mysql');
const uuid = require('uuid/v4');
var connection = require('../config/conn.js');
var knex = require('knex')(connection);
// const salt = "QxLUF1bgIAdeQX";
// const crypto = require('crypto');
var moment = require('moment');
var table = "t_user";

module.exports = {
post: function (req, callback) {
var Id = uuid();
var usrnm = req.body.usrnm;
var pass = req.body.pass;
var mail = req.body.mail;
var name = req.body.name;
var gndr = req.body.gndr;
var addrss = req.body.addrss;
var rl = req.body.rl;
var crt = moment().format('MMMM Do YYYY, h:mm:ss a');
var mdf = moment().format('MMMM Do YYYY, h:mm:ss a');
var dlt = "";
knex(table)
.insert({
id: Id,
username: usrnm,
password: pass,
email: mail,
realname: name,
gender: gndr,
address: addrss,
role: rl,
created_at: crt,
modified_at: mdf,
deleted_at: dlt
})
.then(function (rows){
callback(null, rows);
})
.catch(function (err){
callback(err);
});
console.log("test");
}
}

user_controller.js

var model = require('../models/user_model.js');
var data = {
"count" : 0,
"status" : "",
"detail" : ""
};

module.exports = {
post: function (req,res) {

model.post(req, function (error,result){

if(error){
data["status"] = "error";
data["detail"] = error;
}
else{
data["status"] = "success";
data["detail"] = result;
}
res.json(data);

})

}
}

最佳答案

你可能在这里错过了斜杠:

app.post('api/v1/user', users.post); // must be '/api/v1/user'

关于javascript - Node js Rest API 返回错误,显示 'Cannot POST/api/v1/user',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45193291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com