我的第二个端点不适用于 node-js API,为什么?
My second endpoint doesn't work for node-js API, why?
尝试制作我的第一个 API。一切顺利,除了出于某种原因,我的第二条路线 app.route('characters/:characterId')
无法正常工作。 None 的端点工作,即使第一条路线 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);
};
您缺少一个 /
app.route('/characters/:characterId')
尝试制作我的第一个 API。一切顺利,除了出于某种原因,我的第二条路线 app.route('characters/:characterId')
无法正常工作。 None 的端点工作,即使第一条路线 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);
};
您缺少一个 /
app.route('/characters/:characterId')