简体   繁体   English

路由器不返回 json 什么错误?

[英]Router doesn't return json what wrong?

This code don't give a response, where is trouble?这段代码不给反应,麻烦在哪里? index.js:索引.js:

const express = require('express')
const mongoose = require('mongoose')
const authRouter = require('./authRouter') //import of router.
const PORT = process.env.PORT || 3000


const app = express()
app.use(express.json()) //to get server to parse
app.use('/auth', authRouter)


const start = async () =>{
    try{
        await mongoose.connect('mongodb+srv://*****:*****@cluster0.lwems.mongodb.net/myFirstDatabase?retryWrites=true&w=majority')
        app.listen(PORT, ()=> console.log('Server started on 3000'))
    } catch(e){
        console.log(e)
    }
}

start()

authRouter.js authRouter.js

const Router = require('express')
const controller = require('./authController')
const router = new Router()  //create an object


router.post('/registration', controller.registration)
router.post('/login', controller.login)
router.post('/users', controller.getUsers) //for different access

module.exports = router

authController.js authController.js

class authController{
    async registration(req,res) {
        try {
            
        } catch (e) {
            console.log(e)
        }
    }
    async login(req, res) {
        try {
        } catch (e) {
            console.log(e)
        }
    }
    async getUsers(req, res) {
        try {
            res.json("HEY")
        } catch (e) {
            console.log(e)
        }
    }

}

module.exports = new authController()

when i do request from browser it returns: Cannot GET /auth/users当我从浏览器发出请求时,它返回:无法获取/auth/users

I don't understand where is my mistake.我不明白我的错误在哪里。 all done in accordance with example.全部按照示例完成。

Cannot GET /auth/users

Try changing request method from post to get in AuthRouter.js尝试将请求方法从post更改为get AuthRouter.js

router.post('/registration', controller.registration)
router.post('/login', controller.login)
router.get('/users', controller.getUsers)

The problem is you are not returning the res.json()问题是你没有返回res.json()

Please do -请做-

async getUsers(req, res) {
    try {
        return res.json("HEY");
    } catch (e) {
        console.log(e)
        return res.json({"result":"failed", "error": e});
    }
}

and it would work;)它会起作用;)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM