使用邮递员测试 api。但请求正在返回用户名或电子邮件无效

     2023-03-11     250

关键词:

【中文标题】使用邮递员测试 api。但请求正在返回用户名或电子邮件无效【英文标题】:Testing api using postman. But request is returning user name or email is invalid 【发布时间】:2021-10-10 21:32:02 【问题描述】:

我从我的 nodejs 后端服务器创建了一个用户登录路由,我想测试 api,但它返回给我一个错误,尽管这是我输入的错误,以防代码无法按预期工作。但是我一遍又一遍地交叉检查代码,我似乎无法从代码中指出哪里有问题。请通过查看代码来帮助您可能做错了什么,这就是原因。

**userRouter path**

userRouter.post('/signin', expressAsyncHandler(async (req, res) => 
    const user = await User.findOne( email: req.body.email );
    if(user) 
        if(bcrypt.compareSync(req.body.password, user.password)) 
            res.send(
                _id: user._id,
                name: user.name,
                email: user.email,
                isAdmin: user.isAdmin,
                token: generateToken(user),
            );
            return;
        
    
    res.status(401).send( message: 'Invalid email or password verification' );
))

export default userRouter;


  **User model path**

    import mongoose from 'mongoose';


const userSchema = new mongoose.Schema(
    name:  type: String, required: true ,
    email:  type: String, required: true ,
    password:  type: String, required: true ,
    isAdmin:  type: Boolean, default: false, required: true ,
    
,

    timestamps: true

);


const User = mongoose.model("User", userSchema);


export default User;



 **server.js path...**

    import express from 'express';
import mongoose from 'mongoose';
import dotenv from 'dotenv';
import productRouter from './routers/productRouter.js';
import userRouter from './routers/userRouter.js';

dotenv.config()


const app = express();
app.use(express.json());
app.use(express.urlencoded( extended: true ));

mongoose.connect(process.env.MONGODB_URL || 'mongodb://localhost/e-commerce', 
    useNewUrlParser: true,
    useUnifiedTopology: true,
    useCreateIndex: true,
);


app.use('/api/users', userRouter);
app.use('/api/products', productRouter);

app.get('/', (req, res) => 
    res.send('Node server is Serve here');
);

const port = process.env.PORT || 5000;

app.use((err, req, res, next) => 
    res.status(500).send( message: err.message );
);

app.listen(5000, () => 
    console.log(`serve at http://localhost/$port`)
);

   **utils.js for generating jsonwebtoken**

   export const generateToken= (user) => 
    return jwt.signin(
        _id: user._id,
        name: user.name,
        email: user.email,
        isAdmin: user.isAdmin,
    , process.env.JWT_SECRET,
        
            expiresIn: '30d',
        
    );

【问题讨论】:

【参考方案1】:

在 Express 中, res.send() 用于字符串和缓冲区对象。要发送 json 数据,您需要使用其他东西: 而不是res.send(jsondata) 使用res.json(jsondata)

文档:https://www.geeksforgeeks.org/express-js-res-json-function/

【讨论】:

我试试你的方法,但还是这样... "message": "jwt is not defined" 添加 import jwt from 'jsonwebtoken' @Ahmad Salihu 你还有问题吗?

使用邮递员返回错误请求,但未在单元测试 Spring Boot 中返回

】使用邮递员返回错误请求,但未在单元测试SpringBoot中返回【英文标题】:badrequestreturnedusingpostmanbutnotinunittestingspringboot【发布时间】:2020-12-0506:05:09【问题描述】:我有一个具有唯一字段“名称”的类别实体。我正在使用自定... 查看详情

邮递员 GET 请求有效,但 Ajax CORS 无效

】邮递员GET请求有效,但AjaxCORS无效【英文标题】:PostmanGETrequestworksbutnotAjaxCORS【发布时间】:2018-03-2914:53:12【问题描述】:我正在尝试发出AJAX请求以获取restAPI的信息。如果我使用POSTMAN对其进行测试,它也适用于Putty,此代码... 查看详情

尽管在邮递员中工作,但请求 JSON 在 JMeter 中给出错误

】尽管在邮递员中工作,但请求JSON在JMeter中给出错误【英文标题】:RequestJSONgivingerrorinJMeterthoughworksinpostman【发布时间】:2021-10-2709:26:43【问题描述】:我正在尝试在JMeter中对我的一个API进行负载测试。在swagger或postman中测试时... 查看详情

烧瓶根据邮递员的邮寄请求返回 400

】烧瓶根据邮递员的邮寄请求返回400【英文标题】:flaskreturns400onpostrequestfrompostman【发布时间】:2017-05-1620:30:03【问题描述】:我正在lynda上做一个烧瓶课程,但遇到了一个例子。https://www.lynda.com/Flask-tutorials/Web-API-Development-Flask/... 查看详情

邮递员错误请求 - 请求太长

】邮递员错误请求-请求太长【英文标题】:PostmanBadRequest-RequestTooLong【发布时间】:2021-07-0101:31:24【问题描述】:我正在将Asp.NetCore3.1API与IdentityServer一起使用,并且我长期以来一直使用Postman作为API测试器,它运行良好,但是,... 查看详情

请求用户电子邮件时返回 404 Not Found [ASP.NET Web API]

...布时间】:2019-09-0520:52:37【问题描述】:我正在尝试通过使用JQuery在输入框中写入电子邮件(以选择消息收件人)从ASP.NETWebAPI获取用户电子邮件,但返回值为null。在我的代码中传递过程是否有任何问题?网络 查看详情

使用邮递员的 GET 请求有效,但不适用于 python (HTTPSConnectionPool)

】使用邮递员的GET请求有效,但不适用于python(HTTPSConnectionPool)【英文标题】:GETrequestwithpostmanisworking,butitdoesnotworkwithpython(HTTPSConnectionPool)【发布时间】:2019-08-2821:29:58【问题描述】:我正在尝试从API获取JSON,然后可以在使用djang... 查看详情

邮递员在测试 GET 时返回 200 但正文为空

】邮递员在测试GET时返回200但正文为空【英文标题】:postmanwhentestingGETitreturns200butwithanemptybody【发布时间】:2021-10-1608:25:37【问题描述】:当我尝试使用邮递员测试我的GETAPI时,它返回200但正文为空,我期望获得的数据不会显示... 查看详情

邮递员在预请求脚本中获取随机用户名

】邮递员在预请求脚本中获取随机用户名【英文标题】:PostmangettingrandomUserNameinsidePre-RequestScripts【发布时间】:2020-06-1911:13:26【问题描述】:我希望在每次运行请求时使用API创建一个随机用户。我有一个电子邮件环境变量,我... 查看详情

android 改造后注销请求给出错误 406 不可接受:用户未登录。...在邮递员 api 上工作正常

...改造后注销请求给出错误406不可接受:用户未登录。...在邮递员api上工作正常【英文标题】:androidretrofitpostlogoutrequestgivingerror406NotAcceptable:Userisnotloggedin....onpostmanapiworksfine【发布时间】:2017-11-0709:09:38【问题描述】:我正在使用... 查看详情

如何从 API 请求中检索错误消息 [重复]

...子邮件地址已经注册,我怎么会得到这个错误。当我使用邮递员进行测试时,我能够看到错误消息,但我不确定如何使用axios 查看详情

使用邮递员测试启用 Spring Security 的 API

】使用邮递员测试启用SpringSecurity的API【英文标题】:Testingspringsecurityenabledapiusingpostman【发布时间】:2019-11-0119:04:09【问题描述】:我正在开发基于SpringBoot+SpringSecurity的应用程序。我使用jdbcAuthentication来验证用户。我还配置了... 查看详情

MVC Post 请求始终返回 IIS 错误 500,但适用于邮递员

】MVCPost请求始终返回IIS错误500,但适用于邮递员【英文标题】:MVCPostrequestalwaysreturnsIISerror500butworkswithpostman【发布时间】:2021-12-1719:49:27【问题描述】:我正在尝试向IIS中托管的webapi应用程序发送发布请求。我总是在发布请求... 查看详情

Angular - JSON Put 和 Delete 返回 403(但邮递员应用程序运行良好)

】Angular-JSONPut和Delete返回403(但邮递员应用程序运行良好)【英文标题】:Angular-JSONPutandDeleteReturns403(Butpostmanappworkswell)【发布时间】:2019-06-0715:35:48【问题描述】:我有一个休息api,我可以使用它发布和获取请求。但是当我想... 查看详情

Spring安全缓存基本身份验证?不验证后续请求

...似乎如果我使用正确的基本身份验证用户名和密码(通过邮递员)向我的REST端点发送一个请求,然后我删除用户名和密码或将其设置为 查看详情

使用 POSTMAN 或任何其他方式批量 POST/PUT API 请求

...录它们的结果。我能做的唯一方法是复制每个网址并使用邮递员发送。但是真的很费时间。我尝试查看任务运行器,但似乎很难将变量 查看详情

axios 在 20 秒内给出响应,但具有相同请求负载的相同 api 在 6 秒内从邮递员给出响应

...20秒内给出响应,但具有相同请求负载的相同api在6秒内从邮递员给出响应【英文标题】:axiosisgivingresponsein20sec,butsameapiwithsamerequestpayloadisgivingresponsein6secfrompostman【发布时间】:2019-09-1008:56:45【问题描述】:我正在使用axios进行来... 查看详情

邮递员 GET 请求的 Alamofire 等效项

】邮递员GET请求的Alamofire等效项【英文标题】:AlamofireEquivalentofPostmanGETrequest【发布时间】:2020-04-1922:56:11【问题描述】:我正在开发一个iOS应用程序,我使用“Alamofire”发出API请求,我测试了邮递员的API(使用Slim框架创建),... 查看详情