简体   繁体   English

Node js rest API返回错误,提示“无法发布/ api / v1 / user”

[英]Node js rest API returning an error says 'Cannot POST /api/v1/user'

i'm trying to create post method for rest api using node js, but it says cannot post /api/v1/user in postman and insomnia, but in the console there's no error, can anyone help me? 我正在尝试使用node js为rest api创建post方法,但是它说不能在postman和失眠中发布/ api / v1 / user,但是在控制台中没有错误,有人可以帮助我吗?

Here are my code 这是我的代码

server.js server.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 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 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'

可能想看看Express的安全性最佳实践https://expressjs.com/en/advanced/best-practice-security.html

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 使用 REST api 和 Node.js 时出现错误无法 POST - Error cannot POST when using REST api and Node.js POST http://localhost:3000/api/v1/register 500(内部服务器错误)xhr.js:220 - POST http://localhost:3000/api/v1/register 500 (Internal Server Error) xhr.js:220 Cannot put error in rest api 使用 node.js - Cannot put error in rest api using node js Linkedin api.linkedin.com/v1/people 开始返回 400 错误 - Linkedin api.linkedin.com/v1/people started returning 400 error POST http://localhost:3000/api/v1/register 500(内部服务器错误) - POST http://localhost:3000/api/v1/register 500 (Internal Server Error) POST http://localhost:3000/api/v1/stories 401(未经授权) - POST http://localhost:3000/api/v1/stories 401 (Unauthorized) 使用Node.js,Express和MongoDB .post()错误创建Rest API - Creating Rest API using Node.js, Express, and MongoDB .post() error 使用 POST 数据重定向到另一个 Rest API Url - Node Js - Redirect to another Rest API Url with POST data - Node Js 如何在 Node js 中制作 REST API POST(到 Excel)? - How to make a REST API POST (to Excel) in Node js? 获取服务器节点失败【CANNOT_MEET_AREA_DEMAND】 https://webrtc2-ap-web-2.agoraio.cn/api/v1 - Get server node failed [CANNOT_MEET_AREA_DEMAND] https://webrtc2-ap-web-2.agoraio.cn/api/v1
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM