выводится, когда передаются параметры name и age.
проблема постановки задачи для создания api: заполните файл промежуточного программного обеспечения и файл index.js в данном приложении так, чтобы все параметры запроса, требуемые маршрутом, были проверены и имели нулевое значениеи неопределенные значения выдают сообщение об ошибке - Обязательными параметрами запроса являются: name: String, age: Number
, создайте маршрут с именем '/ query' и отправьте ответ, как описано выше, когда запрашивается этот маршрут.по мне, API должен включать эти условия, чтобы получить желаемый результат, они:
1. когда оба параметра запроса присутствуют, ответьте успешно (статус: 200)
2.если введен параметр запроса возраста и параметр имени пуст, то ответить с ошибкой (статус: 403)
3. когда введен параметр запроса имени и параметр возраста пуст, то ответить с ошибкой (статус: 403)
когда один из параметров запроса имеет значение null для "например: http://localhost:3000/query/?age=2&name"
the output i get is this:
{
"error": false,
"status": 200,
"userMessage": "all parameters entered",
"data": {
"name": "",
"age": "2"
}
}
, но ожидаемый результат должен иметь ошибку: true, status: 403 Это ошибка, с которой сталкиваются.
есть два файла: один файл index.js, а другой файл checkQueryParameters.js (это промежуточное ПО)
код index.js
const express = require('express');
const app = express();
const middleware = require('./middleware/checkQueryParameter');
app.get('/query',middleware.checkQueryParameters,(req,res)=>{
res.end();
});
app.listen(3000,()=>console.log('Example app listening on point
3000'));
module.exports = app;
кодcheckQueryParameters.js
let checkQueryParameters = (req,res,next)=>{
let name = req.query.name;
let age = req.query.age;
console.log(typeof(age));
console.log(typeof(name))
console.log(age);
console.log(name);
if(typeof name == undefined || name == null){
let result ={
error : true,
status : 403,
userMessage : 'some parameters missing',
data : 'name'
}
res.send(result);
}
else if(typeof age == undefined || age == null){
let result ={
error : true,
status : 403,
userMessage : 'all parameters missing',
data : 'age'
}
res.send(result);
}
else{
let result ={
error : false,
status : 200,
userMessage : 'all parameters entered',
data :{
'name' : name,
'age' : age
}
}
res.send(result);
}
}
module.exports = {
checkQueryParameters:checkQueryParameters
}