#node.js #angular #mongodb #mean-stack
#node.js #angular #mongodb #средний-стек
Вопрос:
Мой API не выдает никаких ошибок (поскольку он печатается Listening on Port 3000
на консоли), но и ничего не возвращает. Когда я пытаюсь протестировать его на postman, он говорит Could not get any response
.
Кто-нибудь может помочь мне выяснить, в чем может быть проблема? Код приведен ниже.
PS: я ссылался на это руководство по операциям с CRUD
Это моя файловая структура:
server.js
const express = require('express'),
path = require('path'),
bodyParser = require('body-parser'),
cors = require('cors'),
mongoose = require('mongoose');
const resortRoute = require('./routes/resort_routes');
mongoose.Promise = global.Promise
mongoose.connect('mongodb://localhost/db', { useNewUrlParser: true }) //mongodb://127.0.0.1:27017
var db = mongoose.connection
db.on('error', console.error.bind(console, 'Mongodb connection error:'))
const app = express();
app.use(bodyParser.json());
app.use(cors());
app.use('/resort', resortRoute);
const port = process.env.PORT || 3000;
const server = app.listen(function(){
console.log('Listening on port ' port);
});
Модель курорта
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
var childSchema = mongoose.Schema({
name : String,
price : Number
}, { _id : false });
let Resort = new Schema({
cover_image : {
type: String,
required: true
},
price: {
actual_price: { type: Number, required: true},
discount_price: {type: Number, required: true}
},
themes : { type: Array },
features : { type : Array },
food : [childSchema],
trip_type: { type : Array },
stay_package : [childSchema],
additional : [childSchema],
activities : [childSchema],
name : {
type: String,
required: true
},
excerpt : {
type: String,
},
description : {
type: String,
required: true
},
destinationId : { type: mongoose.Schema.Types.Mixed, ref: 'Destination', required: true },
itinerary : { type: mongoose.Schema.Types.Mixed },
maps : {
type : String,
// required: true
},
address : {
type : String,
// required: true
},
distance_from : {
location : String,
distance : Number,
}
},{
collection: 'resort'
});
module.exports = mongoose.model('Resort', Resort);
resort_routes.js
const express = require('express');
const app = express();
const resortRoutes = express.Router();
let Resort = require('../models/Resort');
resortRoutes.route('/create').post(function (req, res) {
console.log(req.body)
let resort = new Resort(req.body);
resort.save()
.then(resort => {
res.status(200).json({'resort': 'resort added'});
})
.catch(err => {
res.status(400).send("unable to save to database");
});
});
module.exports = resortRoutes;
Комментарии:
1. Какой URL-адрес вводится в postman?
2. @MoadEnnagi
localhost:3000/resort/create
3. Я попробовал ваш код с запросом post при
localhost:3000/resort/create
использовании Postman, здесь все работает нормально. Я бы проверил пути кport
файлам4. @MoadEnnagi привет, я проверил их, я добавил файловую структуру к вопросу, не могли бы вы проверить один раз? Спасибо за ваше время 🙂
5. Изображение слишком маленькое