gpt4 book ai didi

node.js - 在 Node.js 中验证 API 输入的最佳实践?

转载 作者:可可西里 更新时间:2023-11-01 17:07:25 26 4
gpt4 key购买 nike

<分区>

我正在开发一个移动应用程序,后端使用 Node.js。用户将几乎完全通过移动应用程序与平台进行交互。作为后端的一部分,我公开了多个 API 以供移动应用程序使用——例如:用于创建帐户、发送消息、发布图片等的 API。

验证 API 输入的最佳做法是什么?

我的想法是为每个 API 创建一个模块,其目的是从 http 请求中提取、清理和验证相关属性。例如,“创建帐户”API 将有一个关联的 AccountCreationRequest 模块和一个 validate 方法,其中将定义所有特定于帐户创建的验证。然后可以由库执行每个特定的验证,例如 express validatorvalidator .

exports.AccountCreationRequest = {

init: function(request) {
... extract attributes ...
},

sanitizeAndValidate: function() {
... use express-validator/validator on
attributes such as username, email, etc ...
},

isValid: function() {
... return result of validation ...
}
};

然后,当后端 API 收到请求时,

var accountCreationRequest = AccountCreationRequest.init(httpRequest);
accountCreationRequest.sanitizeAndValidate();

if (accountCreationRequest.isValid()) {
... store in database and notify client of success ...
} else {
... notify client of failure ...
}

我担心的是 N 个 API 将需要 N 个请求验证模块。但是,由于每个 API 都是唯一的,我认为代码重用的机会不大。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com