Koa `ctx.assert` для кодов состояния без ошибок?

Я использую коа ctx.assert проверить на заселенность ctx.body в конце многих из моих контроллеров.

ctx.assert(ctx.body, 204, 'No matches for that query');

Тем не менее, это дает мне предупреждение

http-ошибки устарели, не код ошибки; используйте только коды статуса 4xx или 5xx

Я мог бы, конечно, сделать следующее, но я нашел это слишком многословным.

if (!ctx.body) {
  ctx.status = 204;
  ctx.message = No matches for that query';
}

Несмотря на констатацию документов Коа

Если response.status не был установлен, Koa автоматически установит статус 200 или 204.

Я получаю 200, даже если тело пустое, поэтому, очевидно, мне нужно самому установить статус 204. Есть ли что-то вроде ctx.assert что позволяет мне устанавливать статус и сообщение одновременно даже для кодов состояния без ошибок?

0 ответов

Другие вопросы по тегам