Возврат кода состояния из узла API-сервиса - PullRequest
0 голосов
/ 23 января 2020

Я создаю сервис nodeapi с нуля. То, что я пытаюсь сделать, это вернуть разные коды состояния на разные вызовы API в зависимости от сгенерированного исключения. Каков наилучший подход, чтобы сделать это как можно более обобщенным.

Ниже приведен пример кода, который я пытался сделать, но я не уверен, является ли это наилучшей практикой или оптимизированным способом сделать это.

if () // some validation condition, if true it will continue or will go to else  
{
    if()//some condition
    {
                  res.statusMessage = "Message";
                  res.status(201).json({
                  // my json object that will come here
                  }); 
    }   
}
else {
         res.statusMessage = "You are not an Authorised user";
         res.status(401).json({
         // my json object that will come here
    });
}

Это то, как я делаю это условно, это правильный подход?

1 Ответ

0 голосов
/ 23 января 2020

Как вы и просили в качестве точки зрения оптимизации. Я предлагаю вам создать папку utils в каталоге вашего проекта и создать имя файла с именем response. js, где вы можете определить все свои требуемые ответы с двумя аргументами, один из которых является сообщением, а другой - ответом, и экспортировать все ответы в прошлой. После этого импортируйте и используйте ответ, который вы пытаетесь отправить. Например,

// Unauthorized Response
      exports.unauthorizedRequest = (response, msg) => {
        response.status(401).json({
            error: true,
            message: 'Unauthorized Request'
        });
    };
// Success Response
exports.success = (response, msg) => {
        response.status(200).json({
            error: false,
            message: msg
        });
    };

Далее. После этого импортируйте вышеуказанный файл в ваш файл, где вы хотите использовать пример

const ResUtil = require('your_path/utils/response)

if () // some validation condition, if true it will continue or will go to else  
{
    if()//some condition
    {
                  statusMessage = "Message";
                  return ResUtil.success(res, statusMessage) 
    }   
}
else {
         statusMessage = "You are not an Authorised user";
         return ResUtil.unauthorizedRequest(res, statusMessage);
}
...