Адекватно ли мое решение для контроллеров Spring в Котлине?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Адекватно ли мое решение для контроллеров Spring в Котлине?

Сообщение Anonymous »

Мне очень нравится, что я могу видеть все варианты ответа в Java, вызванные языком, когда контроллеры написаны следующим образом:

Код: Выделить всё

@Post...
UpdatedItem updateItem(...) throws UserNotFoundException, ItemNotFoundException, ItemEditionNotAllowedEx... {
return itemService.updateItem()
}

...

@ExceptionHandler({ UserNotFoundException.class })
Но сейчас я использую Kotlin без вынужденных ошибок и пришёл к такому решению:

Код: Выделить всё

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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»