Jax-rs, единственный поставщик ExceptionMapper с огромной логикой по сравнению с несколькими поставщиками с небольшим количеством логики (производительность против использования ресурсов)
Простой пример такой ситуации ExceptionMapper
, представьте, что у вас есть какое-то пользовательское исключение и вы хотите вернуть определенный код состояния и детали в качестве ответа, когда ваше приложение столкнулось с этими исключениями, поэтому у вас есть следующие варианты:
Вы можете создать один
provider
класс, который реализуетExceptionMapper<Throwable>
обрабатывать ваши исключения в одном классе с помощьюif
и проверить тип исключенияВы можете создать несколько
provider
классы для каждого исключения
примечание: как вы знаете, для каждого приложения Jax-R будет создан один экземпляр каждого провайдера
так что в первом варианте у нас есть один экземпляр (я думаю, что это лучше для использования ресурсов), но из-за нескольких if процесс может занять больше времени (может быть, это плохо сказывается на производительности).
вместо этого во втором варианте мы создаем и сохраняем больше экземпляров, но процесс короче (лучше для производительности)
Я знаю, что производительность и ресурс могут быть изменены немного в каждом случае, но мне любопытно узнать правильный ответ.
так какой из них вы считаете лучшим и более эффективным способом?