こんにちは、私は記事に従っており、実際にはPOST APIを取得できません。 私はデータベースURIへの接続に係数を使用しています。データベース接続がExpressで動作しない
ここに私のコードです。
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var mongoose = require('mongoose');
mongoose.connect('mongodb://node:[email protected]:27017/hygeBe9b');
app.use(bodyParser.urlencoded({extended : true}));
app.use(bodyParser.json());
var port = process.env.port || 8080;
var router = express.Router();
//middleware to use for all requests
router.use(function(req, res, next){
console.log('Something is going on here !');
next();
})
router.get('/', function(req, res){
res.json({
message: "Welcome to first API coding !"
})
});
router.route('/songs')
.post(function(req, res){
var song = new Song();
song.name = req.body.title;
song.save(function(err) {
if (err) { res.send(err);}
res.json({message : 'Song Created'});
})
})
var Song = require('./models/songs');
app.use('/api', router);
app.listen(port);
console.log('Server running on port: ' + port);
モデルファイル
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var SongsSchema = new Schema({
title: String
})
module.exports = mongoose.model('Song', SongsSchema);
は、ここに私の郵便配達要求コード
curl -X POST -H "Content-Type: application/x-www-form-urlencoded" -H "Cache-Control: no-cache" -H "Postman-Token: 5b280358-3de8-b52c-590b-430f5f4b6766" -d 'title=demo' "http://localhost:8080/api/songs"
https://scotch.io/tutorials/build-a-restful-api-using-node-and-express-4
だと重要なのは、どのように私はどこエラー嘘見るために私のコードをデバッグすることができます? APIはうまくいくようです。
ユーザー名とパスワードを使わずにlocalhostを使用できます。しかし、私はユーザー/パスワードを試しても、それは動作しません。したがって、ローカルホストとリモートdbの場合は、基本的にユーザー名とパスワードのuriは機能しません。 – kushalvm
コンソールに表示されるエラーは何ですか? –
{[MongoError:auth failed]名前: 'Mongo Error'、ok:0、errmsg: 'auth failed'、code:18} – kushalvm