Код: Выделить всё
@Post...
UpdatedItem updateItem(...) throws UserNotFoundException, ItemNotFoundException, ItemEditionNotAllowedEx... {
return itemService.updateItem()
}
...
@ExceptionHandler({ UserNotFoundException.class })
Код: Выделить всё
sealed class UpdateItemFail {
data object UserNotFound: UpdateItemFail()
data object ItemNotFound: UpdateItemFail()
data class ItemEditionNotAllowed(val reason): UpdateItemFail()
}
@Post...
fun updateItem() {
when(itemService.updateItem(...)) {
is Either.Ok -> ResponseEntity.ok(it.body)
is Either.Fail -> when(it.fail) {
UpdateItemFail.UserNotFount -> ResponseEntity...
UpdateItemFail.ItemNotFound -> ResponseEntity...
...
}
}
Это плохо или злоупотребление? Если да, то какой тип обработки вы предложите?
Подробнее здесь: https://stackoverflow.com/questions/790 ... -in-kotlin
Мобильная версия