Size: a a a

Java/Kotlin and more

2021 January 12

AE

Alexandr Emelyanov in Java/Kotlin and more
Vitaly Sirotkin
я вообще предпочитаю копипастить свой exception handler который я написал год назад из проекта в проект
У меня такой 5 лет существует🌚
источник

VS

Vitaly Sirotkin in Java/Kotlin and more
Alexandr Emelyanov
У меня такой 5 лет существует🌚
да я все ленился написать нормальный универсальный)
источник

AE

Alexandr Emelyanov in Java/Kotlin and more
Vitaly Sirotkin
да я все ленился написать нормальный универсальный)
У нас универсальный
источник

AE

Alexandr Emelyanov in Java/Kotlin and more
Был. Потом перешли на кастомные с аннотацией
источник

VS

Vitaly Sirotkin in Java/Kotlin and more
мне вот эта штука с аннотациями кажется не очень очевидной, да и к тому же ты не сможешь воткнуть кастомные аннотации в библиотечные эксепшены)
источник

S

Seryh in Java/Kotlin and more
Alexandr Emelyanov
Можно кастомное исключение с аннотацией @ResponseStatus
А если нужно динамически сообщения генерить в одном типе ексепшена?
источник

EI

Edem Injection in Java/Kotlin and more
Vitaly Sirotkin
@ControllerAdvice
class GlobalExceptionHandler {

   @ExceptionHandler(
       ServerWebInputException::class,
       HttpMessageNotReadableException::class
   )
   @ResponseBody
   fun handleHttpMessageNotReadableException(e: Exception): ResponseEntity<ErrorDTO> {
       logError("Bad Request", e)
       val message = when (val cause = e.cause?.findCause()) {
           is InvalidFormatException -> "Can't read value '${cause.value}' for field '${cause.path.errorPath()}'"
           is MissingKotlinParameterException -> "Missing required field '${cause.path.errorPath()}'"
           is ServerWebInputException -> cause.reason
           else -> cause?.message ?: e.message
       }
       return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(ErrorDTO(REQUIRED_PARAMETER_ABSENT, message))
   }


   @ExceptionHandler(
       WebExchangeBindException::class
   )
   @ResponseBody
   fun handleMethodArgumentNotValidException(e: WebExchangeBindException): ResponseEntity<ErrorDTO> {
       logError("Bad Request", e)
       val message = e.bindingResult.allErrors.joinToString(prefix = "Validation failure. ") {
           when (it) {
               is FieldError -> "Field '${it.field}': ${it.defaultMessage}"
               else -> it.defaultMessage.orEmpty()
           }
       }
       return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(ErrorDTO(REQUIRED_PARAMETER_ABSENT, message))
   }


   @ExceptionHandler(
       Error::class,
       Exception::class
   )
   @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
   @ResponseBody
   fun internalServerError(e: Exception): ResponseEntity<ErrorDTO> {
       logError("Internal server error", e)
       return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR)
           .body(ErrorDTO(INTERNAL_SERVER_ERROR_CODE, e.message))
   }

   companion object : Loggable

}


private const val INTERNAL_SERVER_ERROR_CODE = "INTERNAL_SERVER_ERROR"
private const val REQUIRED_PARAMETER_ABSENT = "REQUIRED_PARAMETER_ABSENT"
благодарю от души брат
источник

AE

Alexandr Emelyanov in Java/Kotlin and more
Seryh
А если нужно динамически сообщения генерить в одном типе ексепшена?
Конструктор для чего?
источник

S

Seryh in Java/Kotlin and more
Alexandr Emelyanov
Конструктор для чего?
Не припомню чтоб он прокинул переданное в конструктор сообщение. Надо проверить
источник

AE

Alexandr Emelyanov in Java/Kotlin and more
Seryh
Не припомню чтоб он прокинул переданное в конструктор сообщение. Надо проверить
Наследуешь runtime exception, передаешь в super сообщение в параметр message, его выводит в ответ
источник

EI

Edem Injection in Java/Kotlin and more
почему в подавляющем большинстве туториалов жвт реализован без рефреша? шо за тупизна
источник

Y

Yersultan in Java/Kotlin and more
У меня вопрос: есть ли в андроид разработке понятие бэкенд как в вебе или у вас бэк и фронт совмещенно делается на java или kotlin? Или бэк в основном делается на python? Спасибо. Я нуб.
источник

AE

Alexandr Emelyanov in Java/Kotlin and more
Yersultan
У меня вопрос: есть ли в андроид разработке понятие бэкенд как в вебе или у вас бэк и фронт совмещенно делается на java или kotlin? Или бэк в основном делается на python? Спасибо. Я нуб.
Я думаю тут нет андроид разработчиков. А по вопросу - на самом деле бывает по разному, у кого какие разработчики есть, на том и пишут
источник

AE

Alexandr Emelyanov in Java/Kotlin and more
Yersultan
У меня вопрос: есть ли в андроид разработке понятие бэкенд как в вебе или у вас бэк и фронт совмещенно делается на java или kotlin? Или бэк в основном делается на python? Спасибо. Я нуб.
Можешь немного поофтопить и тут ещё @android_ru
источник

Y

Yersultan in Java/Kotlin and more
Alexandr Emelyanov
Можешь немного поофтопить и тут ещё @android_ru
А на деле как обстоят дела? Спасибо за ссылку.
источник

AE

Alexandr Emelyanov in Java/Kotlin and more
Yersultan
А на деле как обстоят дела? Спасибо за ссылку.
У кого как
источник

AE

Alexandr Emelyanov in Java/Kotlin and more
У меня фронта на андройде нет, меня можно не учитывать
источник

V

Vlad in Java/Kotlin and more
Yersultan
У меня вопрос: есть ли в андроид разработке понятие бэкенд как в вебе или у вас бэк и фронт совмещенно делается на java или kotlin? Или бэк в основном делается на python? Спасибо. Я нуб.
обычно все делает 1 человек по готовому дизайну
источник
2021 January 13

RA

Roman Arkhipov in Java/Kotlin and more
Alexandr Emelyanov
Java 8, spring 4, ещё наверно и без бута. Тяжело найти будет)
Стыдно признаться, но я на таком стеке сейчас. Но планируем обновляться
источник

RA

Rinat Ataullin in Java/Kotlin and more
Подскажите, кто знает, а то я уже всю голову сломал.  У меня есть feign клиент  в одном сервисе  и контроллер в другом который вызывает простейший метод в Spring Data Repository. На выходе, при обращение, я получаю ошибку. В чем может быть причина ?
источник