node + express后端 + mysql数据库,postman put模式 404 Not Found错误 解决

1.后端文件组织架构

|--src
  |--server
    |--api
      |--userApi.js
  |--db.js
  |--server.js
  |--sqlMap.js

2.userApi.js 文件

注意:router.put必须和前端postman发送的请求put一致。使用传送参数:req.body

//api文件夹为与数据库的各个表连接接口,每一个子文件为一个数据库中一个表

//userApi.js
var models = require('../db')
var express = require('express')
var router = express.Router()
var mysql = require('mysql')
var $sql = require('../sqlMap')

// 连接数据库
var conn = mysql.createConnection(models.mysql)

conn.connect()
var jsonWrite = function (res, ret) {
  if (typeof ret === 'undefined') {
    res.json({
      code: '1',
      msg: '操作失败'
    })
  } else {
    res.json(ret)
  }
}

// 按用户名查询用户信息
router.get('/login', (req, res) => {
  var sql = $sql.admin_user.queryByName
  // var params = req.query
  var params = req.body
  console.log('params.username',params.username)
  conn.query(sql, [params.username], function (err, result) {
    if (err) {
      console.log(err)
    }
    if (result) {
      console.log(result)
      res.send(result)
    }
  })
})

// 增加用户接口
router.post('/addUser', (req, res) => {
  var sql = $sql.admin_user.add;
  var params = req.body;
  console.log(params.username);
  conn.query(sql, [params.username, params.password], function(err, result) {
    if (err) {
      console.log(err);
    }
    if (result) {
      jsonWrite(res, result);
    }
  })
})

// 增加用户地址。router.put必须和前端的请求 put 一致 
router.put('/putUserAddr', (req, res) => {
  var sql = $sql.admin_user.putAddress;
  var params = req.body;
  console.log(params);
  conn.query(sql, [params.address,params.id], function(err, result) {
    if (err) {
      console.log(err);
    }
    if (result) {
      jsonWrite(res, result);
    }
  })
})

// 获取用户地址:使用req.query
router.get('/getUserAddr', (req, res) => {
  var sql = $sql.admin_user.getAddress;
  var params = req.query;
  console.log(params);
  conn.query(sql, [params.id], function(err, result) {
    if (err) {
      console.log(err);
    }
    if (result) {
      jsonWrite(res, result);
    }
  })
})


module.exports = router

3.db.js文件

//db.js为数据库连接配置

// 数据库连接配置db.js
module.exports = {
  mysql: {
    host: '127.0.0.1', //mysql连接ip地址
    user: 'root',
    password: 'root',         //mySql用户名密码
    database: 'mbg',          //mySql数据库名
    port: '3306'              //mysql连接端口
  }
}

4.server.js 文件

//index.js用来定义与监听后端服务器

// node 后端服务器
const userApi = require('./api/userApi');
const goodsApi = require('./api/goodsApi')
// const bodyParser = require('body-parser');
const express = require('express');
const app = express();

/* app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true})); */
//在Express 4.16.0之后的版本,这两个中间件已经内置到 Express 中,无需额外安装 body-parser。
app.use(express.json())
app.use(express.urlencoded({extend:true}))


// 后端api路由
app.use('/user', userApi);
app.use('/goods', goodsApi);

// 监听端口
app.listen(3000,()=>{
  console.log('success listen at port:3000......');
});

5.sqlMap.js文件

//sqlMap.js
var sqlMap = {
  // 用户
  admin_user: {
    add: 'insert into t_user(username,password) values(?, ?)',
    delete: 'delete from t_user where id = ?',
    all: 'select * from t_user',
    queryByName:'select * from t_user where username = ?',
    queryById:'select * from t_user where id = ?',
    getAddress: 'select * from t_user where id = ?',
    putAddress: 'update t_user set address1 = ?, address2 = ?, address3 = ? where id = ?',
  },  
  goods: {
    // addGoodsCar: 'insert  into `t_goodscar`(`goodsCompany`,`goodsDes`,`goodsName`,`goodsPrice`,`goodsNum`,`goodsPicture`) VALUES  values (?, ?, ?, ?, ?, ?)',
    addGoodsCar: 'insert into t_goodsCar(goodsCompany,goodsDes,goodsName,goodsPrice,goodsNum,goodsPicture,uid) values (?, ?, ?, ?, ?, ?, ?)',
    allGoodsCar: 'select * from t_goodscar',
    search: 'select * from t_goods where goodsName = ?',      
    queryById: 'select * from t_goods where id = ?',
    all: 'select * from t_goods',
    updateById: 'update t_goods set goodsNum = ? where id = ?',
  }
}
module.exports = sqlMap;

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
<h3>回答1:</h3><br/>postman404 not found是指在使用Postman进行API测试时,出现了404错误,即请求的资源未找到。这可能是由于请求的URL错误、服务器故障或权限不足等原因导致的。需要检查请求的URL是否正确、服务器是否正常运行,并确保有足够的权限访问该资源。 <h3>回答2:</h3><br/>Postman404 not found是一个网络错误提示,常常在使用Postman发送HTTP请求时出现。这个错误提示表示Postman未能找到所请求的资源或页面不存在。 这种情况通常出现在以下几种情况下: 1. 请求的URL错误:如果请求的URL拼写错误或不存在,服务器无法找到资源,就会出现404错误。 2. 页面已经被移除或重命名:如果访问的页面已经被移除或重命名,同样会出现这个错误提示。 3. 缺少权限:有些网站或服务器会对某些资源进行权限限制,如果没有相应的权限,就会显示404错误。 要解决这个问题,可以采取如下的措施: 1. 检查请求的URL是否正确,确保URL没有拼写错误。 2. 检查请求的页面是否存在,如果已经被移除或重命名,可以尝试使用其他名称或更新URL。 3. 如果这个资源受到访问限制,可以联系管理员请求权限或寻找其他可用资源。 总之,Postman404 not found错误提示表明发生了访问错误,如果采取正确的措施,可以很快解决问题。 <h3>回答3:</h3><br/>postman404 not found一般出现在使用Postman工具进行接口测试时,提示“404 Not Found”错误。这个错误信息通常会导致接口无法调用,从而无法获取到预期的API响应结果。这种情况的产生主要是因为Postman工具无法正确地访问到API接口,可能是由于以下几种原因: 1. API接口不存在或地址错误:检查所使用的接口地址是否正确或者是否存在,如果接口地址不正确,就会报404错误。可以通过浏览器访问该接口,检查其是否能够正常访问。 2. API服务器出现错误:服务器有可能出现错误,导致Postman无法正常访问接口。这时候,可以尝试等待一段时间或者联系接口服务方解决此问题。 3. Postman工具配置错误Postman工具可能因为许多原因导致配置错误,导致无法正常访问接口。例如,请求的参数不正确,没有正确设置API头文件等等。可以检查Postman的配置文件,或者使用其他工具测试接口。 以上就是Postman404 Not Found的几个常见原因。如果发现该错误,可以通过检查接口地址及其参数、等待服务器修复或者检查Postman配置来解决该问题。总的来说,出现错误也是常有的,需要仔细排查,查找问题的真正原因,才能解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值