Должен ли запрос валидации возвращать true или false, или он должен возвращать код состояния 200 для true и код состояния 400 для false? - PullRequest
0 голосов
/ 25 апреля 2019

Я создаю API REST, который проверяет код двухфакторной аутентификации. Я использовал библиотеку для проверки, и она возвращает true или false.

Что касается моего ответа, то каким должен быть правильный, рекомендуемый или стандартный способ?

A. Код состояния возврата 200 и данные ответа либо true, либо false.

B. Вернуть код состояния 200 для истины и код состояния 400 (или какой код ошибки должен быть) для ложных?

Мы разрабатываем на JavaScript, и если бы я использовал реализацию A , это было бы примерно так:

// Not using async await
http.post(url).then(isValid => {
  // If Else
});

// Using async await
const isValid = await http.post(url);
  // If Else

При использовании B реализация:

// Not using async await
http.post(url).then(valid => {
  // We expect valid to be always true
}).catch(err => {
  // Check if error refers to invalid two fa code or other errors
});

// Using async await
try {
  // We expect valid to be always true
  const valid = await http.post(url);
} catch (err) {
  // Check if error refers to invalid two fa code or other errors
}

Как видите, при использовании реализации B мне нужно будет использовать catch и проверить, относится ли ошибка к недопустимому коду с двумя ошибками или другой ошибке. В отличие от A реализации, это либо true, либо false.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...