вы обычно возвращаете, если ваш сервер делает запрос к какому-то thirt-party API и это API возвращает 400/404/500?
500, если ошибка не ожидаема
Чо. Ответ в вопросе?
Нет, на самом деле зависит от логики.
Если есть прямая зависимость от ресурса, почему не дублировать статусы?
А кто сказал что зависимость прямая? Я что-то не видел в начальном вопросе упоминания того, что сервис занимается проксированием запросов. Кроме того это может приводить к удивительным ситуациям.
см. ответ Тишки, это более правильный подход.
Да я не про проксирование. Ох ладно, сам вопрос немного коряво поставлен. На самом деле можно что угодно отдавать, хоть 200
Попробуй подумать что будет если сервис тебе вернул 401 и ты его как есть прокинул наверх.
Если от клиента зависит, почему бы и нет
Окей, подумать не получилось. Открой спецификацию на 401 код и прочитай что ли.
Хорошо подмечено
Перевари, пожалуйста вопрос, если auth credentials зависят от клиента, почему нет?
Потому что это так не работает. Ты пытаешься построить аргументацию на предположении, что воображаемый сервис — прокся.
Нет, вот гипотетическая ситуация: Есть сервис погоды, у юзера в этом сервисе есть акк, с геолокацией. Тебе нужно собрать температуру за неделю и сделать регрессионный анализ на её основе. Клиент передаёт тебе логин и пароль, чтоб ты мог сделать запрос в сервис погоды, но пароль неправильный, сервис отдал 401 или 403. Что ты отдашь на фронтенд?
Зависит от того каким именно образом ты передаешь этот пароль и есть ли отдельный слой ауетнтификации между пользователем и этим сервисом аггрегации.
Для упрощения возьмём Basic Auth
Это не отвечает на вопрос должен ли пользователь аутентифицироваться в самом сервисе.
Камон, это Basic Auth, ты туда напрямую передаешь логин и пароль, вместе с основным запросом
и как это связано с вопросом Алекса?
Как его ответ связан с моим вопросом тогда? Сервис при аутентификации отдал 401, что конкретно отдавать на фронт? Не, как я говорил выше, можно что угодно, хоть 500 при любом неудачном исходе.
Если сервис аутентификации отдал 401, это и отдаешь на фронт. Если сторонний сервис отдал 401 при том, что юзер имеет доступ к твоему сервису и это связано с юзером - вероятно 403 Если сторонний сервис отдал 401 хз почему и ты не понимаешь как это могло произойти или это не имеет отношения к юзеру вообще - 500
По первому пункту нужно еще не забыть заголовок прокинуть ага
Обсуждают сегодня