jvmchat | Unsorted

Telegram-канал jvmchat - pro.jvm

5858

Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш канал: @proJVM Вакансии: @jvmjobs @jvmjobschat Конфы: @jvmconf ⚠️ Оффтоп -> @flood ❌Переход на личности ❌Троллинг ❌Реклама ❌HH (вакансии) ❌Варез

Subscribe to a channel

pro.jvm

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

Читать полностью…

pro.jvm

Бек ниче не знает про переводы. Профит. Ошибку рендерит фронт. Профит. Xliff пишут переводчики. Профит. А то начинается, в логах бека ошибки на русском, испанском, китайском...

Читать полностью…

pro.jvm

В случае с первым код не нужен, потому что ошибку обрабатывать не имеет смысла
Во втором случае код не нужен, потому что пользователю надо вывести описание

Читать полностью…

pro.jvm

Вот чего точно не стоит делать, так это кишки имплементации отдавать. И Боже упаси стектрейсами швыряться. И с сообщениями об ошибках с авторизацией-аутентификацией тоже осторожнее

Читать полностью…

pro.jvm

Для этого есть openapi документация

Читать полностью…

pro.jvm

Кмк, enum для ошибок - анти-паттерн.

Читать полностью…

pro.jvm

Enum я считаю лучше всего

Читать полностью…

pro.jvm

https://stackoverflow.com/a/45215327

Читать полностью…

pro.jvm

Классика кровавого тырпрайза с заумными архитекторами

Читать полностью…

pro.jvm

Ясно - ну в общем да, я это и уточнил

Читать полностью…

pro.jvm

Главное не забыть http status code поставить, а то 200 с json, в котором errorMsg -- особенно клёво выглядит

Читать полностью…

pro.jvm

2. В целом не за чем, но проще сделать что он всегда говорит в ответе, на каком языке он отвечает. Чтобы не придумывать как исключать запросы, где не надо это делать. Хотя в принципе можно, думаю.
3. То что ошибки надо иметь возможность обрабатывать как-то специфически на фронте - это факт. Бывают кейсы когда это необходимо. Но 90% сообщений можно кидать в Toast-message. Если конечно твой бек по уму сделан.

Читать полностью…

pro.jvm

Так я вроде обратного не утвеждал

Читать полностью…

pro.jvm

Чем мобилка не фронт?

Читать полностью…

pro.jvm

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

Читать полностью…

pro.jvm

status: the HTTP status code applicable to this problem, expressed as a string value.

gspdee

Читать полностью…

pro.jvm

Зачем переводить бек? Берешь https://jsonapi.org/format/#error-objects . Код ошибки уникально идентифицирует паттерн перевода (например xliff). В meta суешь мапу с плейсхолдерами. На клиенте определяешь язык и все для перевода уже выше описано.

Читать полностью…

pro.jvm

Для начала я бы вообще отделил ошибки от некорректного запроса

Читать полностью…

pro.jvm

Ну в принципе да, там ведь у каждого метода итак ошибки описаны быть должны.

Читать полностью…

pro.jvm

Ну кстати как вариант - использовать имя класса исключения.

Читать полностью…

pro.jvm

Кстати хорошая мысль сейчас родилась. Можно в API публиковать отдельным методом все коды ошибок и что они значат.

Читать полностью…

pro.jvm

А может и просто объясняющий текст

Читать полностью…

pro.jvm

Он может быть и текстовый enum

Читать полностью…

pro.jvm

Числовой код ошибки - абсолютно бесполезная вещь

Читать полностью…

pro.jvm

Код ошибки это не http status, это поле error code из тела ответа

Читать полностью…

pro.jvm

Согласен, код ответа важен. Или если код ответа один, также хорошо иметь параметр в ответе, который может детализировать тип ошибки, если с одним кодом могут быть разные кейсы. Ну например 404, но могут быть не найдены разные сущности из запроса (может хреновый пример щас привел).

Читать полностью…

pro.jvm

Вот пусть каждый и делает трансляцию ошибок

Имхо это зашквар пользователю показывать текст ошибки, которая пришла с бэка

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

Читать полностью…

pro.jvm

1. Выбор языка на фронте это норма, если пользователь авторизован, то это просто перегружает настройку профиля. Если пользователь не авторизован и нет выбранного языка - это делается из браузера
2. Зачем бэку передавать язык, если он передаёт данные не привязанные к языку? Например не передаёт текст ошибки?
3. Это норма на каждом фронте делать ошибки, тем может даже отличаться в зависимости от того это веб или мобилка

Читать полностью…

pro.jvm

Проблема в том, что бывают случаи, когда у тебя сначала один фронт. А потом приходит заказчик и говорит, а давайте прихерачим сюда еще 3 сайта, приложухи и заодно этот апи дадим 100 партнерам… и тут занавес, или все переделывать, или как-то жить и выживать. Я лучше сразу такие риски заложу, чем потом локти кусать, тем более, что на начальном этапе это проще простого.

Читать полностью…

pro.jvm

Все так. Только еще есть неавторизованный пользователь, ну и вообще кейсы когда исходя из UI/UX надо делать выбор языка например в шапке сайта, а не в профиле. И кейс, когда по каким-то причинам в сервис не передали Accept-Language, и тогда надо определить дефолтную локаль, и желательно рассказать фронту, на каком языке ты ответил. И у меня дороже на фронтах делать перевод ошибок из кодов в текст, проще и я считаю лучше в одном месте на беке сделать.

Читать полностью…
Subscribe to a channel