【问题标题】:My second endpoint doesn't work for node-js API, why?我的第二个端点不适用于 node-js API,为什么?
【发布时间】: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


    【解决方案1】:

    你少了一个/

    app.route('/characters/:characterId')
    

    【讨论】:

    • 哇,我很笨。有效。邮递员超时有一些问题,但端点现在可以工作。谢谢!
    • 没问题!每个人都会遇到这种情况,也不例外XD
    猜你喜欢
    • 2021-05-23
    • 2022-01-18
    • 2021-04-07
    • 1970-01-01
    • 1970-01-01
    • 2023-01-12
    • 1970-01-01
    • 2022-12-15
    • 1970-01-01
    相关资源
    最近更新 更多