Size: a a a

Node.js — русскоговорящее сообщество

2020 May 11

S

Shakh in Node.js — русскоговорящее сообщество
Maxim Globak
@Shakh2929 в этом случае псевдокод, в реальном коде выглядит как
try {
...
if (state) throw new Error("...");
...
}  catch(error) {
return res.status(409).send(error);
}
try {
...
 try{
      if(..)
  }
 catch(..)
}
catch(){
}
Вот так имел ввиду
источник

АП

Алексей Попов... in Node.js — русскоговорящее сообщество
Shakh
try {
...
 try{
      if(..)
  }
 catch(..)
}
catch(){
}
Вот так имел ввиду
Зачем так делать?
источник

АП

Алексей Попов... in Node.js — русскоговорящее сообщество
Michail
А нету мб готовых решений на node
Нет
источник

АК

Алексей Клименко... in Node.js — русскоговорящее сообщество
Maxim Globak
@Shakh2929 в этом случае псевдокод, в реальном коде выглядит как
try {
...
if (state) throw new Error("...");
...
}  catch(error) {
return res.status(409).send(error);
}
Если собираетесь читать поле ошибки как JSON – то отдавайте {error: error}, чтобы было понятно, чего вообще ждать на фронте.

Тут кстати есть мой тред об этом:
https://t.me/nodejs_ru/491293
https://t.me/nodejs_ru/491587
https://t.me/nodejs_ru/491615
Telegram
Алексей Клименко in Node.js — русскоговорящее сообщество
Я считаю, что на запрос
/api/v1/users?id=42
Нужно ответить, например:
• 200 {ok:true, data: {user:{…}}} когда такой юзер есть;
• 200 {error:true, code:'user_not_found'} когда юзера нету;
• 200 {error:true, code:'wrong_auth_cookie'} когда не была выполнена авторизация;
• 404 {error:true, code:'fatal_error', message:'Path /api/v1/users does not exists'} когда версия v1 уже не поддерживается или при любой другой опечатке в запросе (если он всё ещё в пределах /api/*);
• 400 {error:true, code:'fatal_error', message:'Parameter "user_id" is missing'} когда в запрос поданы некорректные параметры (но не их значения!).

То есть, на мой взгяд, код «200» обозначает, что запрос верный и API отработало верно (то есть сам СЕРВИС обслужил запрос), а коды 4xx обозначали бы только то, что API используется неправильно.
Туда же можно воткнуть проверки Content-Type и самого метод (get/post), может юзерагент чекнуть, чтобы поисковики случайно не заходили (им можно отдавать 403 например).

Такая ошибка на фронте обозначала бы ошибку…
источник

PS

Pavel Shakhov (pongo... in Node.js — русскоговорящее сообщество
Maxim Globak
Тогда сопуствующий вопрос =)
если я отправляю свою ошибку
cosnt error = new Error(“Custom error”)
return res.status(409).send(error)

то клиент получает пустой объект “{}” и не видит ошибки.
Что в этом случае я делаю не так?
Объект error не серилизуется. Отправляй error.message
источник

꧁岡

꧁倫太郎 岡部꧂... in Node.js — русскоговорящее сообщество
да вообще взяли бы вы graphql
источник

АК

Алексей Клименко... in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
Объект error не серилизуется. Отправляй error.message
> JSON.stringify(new Error('test'))
'{}'

Ой, и правда.
источник

М

Максим in Node.js — русскоговорящее сообщество
꧁倫太郎 岡部꧂
да вообще взяли бы вы graphql
graphql не нужен 🙈
источник

꧁岡

꧁倫太郎 岡部꧂... in Node.js — русскоговорящее сообщество
сильное заявление
источник

М

Максим in Node.js — русскоговорящее сообщество
꧁倫太郎 岡部꧂
сильное заявление
Это как жвт, только хуже.
источник

꧁岡

꧁倫太郎 岡部꧂... in Node.js — русскоговорящее сообщество
нет)
источник

М

Максим in Node.js — русскоговорящее сообщество
😂
источник

MK

Mihail Kuzmin in Node.js — русскоговорящее сообщество
найс наброс
источник

LC

Lapis Cursed in Node.js — русскоговорящее сообщество
Ребят, есть предложения где поискаться на летнюю стажировку на backend? Такие вообще есть по нодам?
источник

꧁岡

꧁倫太郎 岡部꧂... in Node.js — русскоговорящее сообщество
в яндексе, но тут скорее подумай как пережить корону
источник

LC

Lapis Cursed in Node.js — русскоговорящее сообщество
Эт да, дистанционная стажировка, это, наверное, что-то сверхъестественное.
источник

TK

Timur Kamilov in Node.js — русскоговорящее сообщество
всем привет. Возник вопрос. Кто знает почему может возникнуть такая ошибка?
источник

TK

Timur Kamilov in Node.js — русскоговорящее сообщество
источник

TK

Timur Kamilov in Node.js — русскоговорящее сообщество
Версии
источник

TK

Timur Kamilov in Node.js — русскоговорящее сообщество
стояла 8 нода такая же ошибка была, что при установке nest cli что при установке expo-cli
источник