【发布时间】:2020-09-24 20:48:15
【问题描述】:
尝试制作我的第一个 API。进展顺利,除了出于某种原因我的第二条路线app.route('characters/:characterId') 不起作用。即使第一条路线app.route('/characters') 工作正常,所有端点都不起作用。我已经做了一个小时了,我不知道发生了什么。
帮助?
这是控制器
'use strict';
var mongoose = require('mongoose'),
Character = mongoose.model('Characters')
exports.list_all_characters = function(req, res) {
Character.find({}, function(error, character){
if (error)
res.send(error);
res.json(character)
})
}
exports.create_a_character = function(req, res) {
var new_character = new Character(req.body);
new_character.save(function(error, character){
if (error)
res.send(err);
res.json(character);
});
};
exports.get_a_character = function(req, res) {
Character.findbyId(req.params.characterId, function(error, character){
if(error)
res.send(err);
res.json(character);
});
}
exports.update_a_character = function(req, res) {
Character.findByIdAndUpdate({_id: req.params.characterId}, req.body, {new: true}, function(error){
if (error)
res.send(error);
res.json(character);
});
};
exports.delete_a_character = function(req, res) {
Character.remove({_id: req.params.characterId}, function(error, character) {
if(error) {
res.send(error);
res.json({message: 'Character Deleted'});
}
})
}
这是路由器
'use strict';
module.exports = function(app) {
var characterList = require('../controllers/characterListController')
app.route('/characters')
.get(characterList.list_all_characters)
.post(characterList.create_a_character);
app.route('characters/:characterId')
.get(characterList.get_a_character)
.put(characterList.update_a_character)
.delete(characterList.delete_a_character);
};
【问题讨论】:
标签: javascript node.js endpoint