在API中发送参数的验证应该放在前端和后台两端进行。在前端,我们可以使用JavaScript对参数进行验证,以确保参数不为空、数据类型正确等。在后台,我们可以使用各种语言和框架的验证库对参数进行验证,以确保参数的格式和值满足要求。
例如,在Node.js中,可以使用joi库对参数进行验证:
const Joi = require('joi');
const schema = Joi.object({
username: Joi.string()
.alphanum()
.min(3)
.max(30)
.required(),
email: Joi.string()
.email()
.required(),
password: Joi.string()
.pattern(new RegExp('^[a-zA-Z0-9]{3,30}$'))
.required(),
repeat_password: Joi.ref('password'),
access_token: [
Joi.string(),
Joi.number()
],
birth_year: Joi.number()
.integer()
.min(1900)
.max(2013),
email: Joi.string()
.email({ minDomainSegments: 2, tlds: { allow: ['com', 'net'] } })
})
.with('username', 'password')
.without('password', 'access_token');
// Validate
const { error, value } = schema.validate({ username: 'abc', birth_year: 1994 });
if (error) {
console.log(error.details);
} else {
console.log(value);
}