Надеюсь у них ничего не выйдет и такую деятельность запретят. Ещё не хватало выйдя на улицу полюбоваться звёздами, увидеть рекламу какой-нибудь Кока-Колы.
Все таки небо у нас общее.
Вариант со статическим анализатором мне кажется правильнее, т.к. гибче и заставит разработчиков быть внимательнее. А с новым типом вы правильно написали — неизвестно где это всплывет и есть вероятность накопления костылей.
Мне кажется научить рослин ругаться на неявное преобразование DateTime в DateTimeOffset не так уж и сложно, ибо вполне штатная ситуация.
А с моим подходом при любом 200 тело парсится в один и тот же объект. А все остальные ответы сразу отправляются в невалидные, потому что они возможны только при отладке или падении чего-то. Это значительно упрощает клиента.
Я правильно понимаю, что у вас сделано так: если 200, то парсим тело в полезный объект. Если 404, то смотрим в тело, если оно есть, то парсим в объект ошибки, если нет, то показываем ошибку?
В обоих случаях вам приходит одинаковая 404. Как вы решаете, что показать юзеру? А если в случае «нет соли в магазине» вам приходит пояснение в теле, то как вы определяете надо ли парсить тело?
Как вы отличаете нет соли или нет магазина с солью? 404 потому что uri битый или 404 потому что /items/1 не существует?
И даже страшно представить сколько у вас бойлерплейта на клиенте для сортировки ошибок.
Обязательно (и об этом джуниоры не знают) в ответ возвращайте ошибки. Это семантично и правильно.
А ФБ, яндекс, вроде инстаграм и нетфликс об этом не знают и возвращают 200 на всё, наверно глупые.
Эта тема многократно обсуждалась на хабре. Если бы вы писали, например, мобильные приложения на типизированных языках, то не были бы столь категоричны. Я в своих сервисах тоже везде отвечаю 200 со стандартным телом, где есть поле isSuccess, есть код и есть описание ошибки, в случае ее наличия. Это удобнее для всего, начиная от логирования и заканчивая клиентом.
Притом, что должна быть возможность ограничить приложения. Почему-то права можно ограничить, а тупо виброзвонок нет. Точнее есть возможность отключить вибро, но почему-то не для всех приложений работает.
Я не понимаю, что вы мне доказываете — то что андроид идеальная ос или что? Эта «идеальная» система даже в системной клавиатуре предлагает слова с ошибками.
Надеюсь у них ничего не выйдет и такую деятельность запретят. Ещё не хватало выйдя на улицу полюбоваться звёздами, увидеть рекламу какой-нибудь Кока-Колы.
Все таки небо у нас общее.
Мне однажды на мою фразу, что я в айти по любви ответили с гадкой усмешкой, что ну у нас тут не любовь, а работа. Безмозглые мудаки.
Тем, кто не прошел сообщаете об отказе? Или по старой эйчарной привычке — потратил человек 2 часа, ну и хер с ним, отработанный материал.
Мне кажется научить рослин ругаться на неявное преобразование DateTime в DateTimeOffset не так уж и сложно, ибо вполне штатная ситуация.
А с моим подходом при любом 200 тело парсится в один и тот же объект. А все остальные ответы сразу отправляются в невалидные, потому что они возможны только при отладке или падении чего-то. Это значительно упрощает клиента.
И даже страшно представить сколько у вас бойлерплейта на клиенте для сортировки ошибок.
А ФБ, яндекс, вроде инстаграм и нетфликс об этом не знают и возвращают 200 на всё, наверно глупые.
Эта тема многократно обсуждалась на хабре. Если бы вы писали, например, мобильные приложения на типизированных языках, то не были бы столь категоричны. Я в своих сервисах тоже везде отвечаю 200 со стандартным телом, где есть поле isSuccess, есть код и есть описание ошибки, в случае ее наличия. Это удобнее для всего, начиная от логирования и заканчивая клиентом.
Я не понимаю, что вы мне доказываете — то что андроид идеальная ос или что? Эта «идеальная» система даже в системной клавиатуре предлагает слова с ошибками.
И да, спасибо что насрал, тупой фанатик.