У меня есть 2 службы Quarkus, одна действует как пограничная, а другая - как нижележащая, связь осуществляется через клиент Quarkus MicroProfile Rest-API. Теперь нижестоящая служба может возвращать состояние ошибки Bad request (4xx) с телом Json. Моя проблема теперь в том, что пограничная служба выдает ошибку 500 с WebApplicationException из-за этого, есть ли способ заполнить тот же код ответа и тело из нижестоящей службы в пограничную службу?
Клиент Quarkus Microprofile Rest, как по-разному обрабатывать ошибки
comment
Вы имеете в виду игнорировать тот факт, что нижестоящие службы не возвращают ответ 2XX и в любом случае используют полезную нагрузку?
- person geoand   schedule 27.04.2021
comment
Да это оно.
- person iabughosh   schedule 28.04.2021
Ответы (1)
Это исключение генерируется клиентом отдыха по умолчанию ResponseExceptionMapper
.
Вы можете отключить его, добавив следующее свойство в application.properties
:
microprofile.rest.client.disable.default.mapper=false
См. ResponxeExceptionMapper по умолчанию и ResponseExceptionMapper спецификации клиента MicroProfile Rest.
person
Michał Szynkiewicz
schedule
28.04.2021
Я попробовал указанное выше свойство в дополнение к org.eclipse.microprofile.rest.client.disable.default.mapper = false, и это не сработало! у него другое название, когда это приложение Quarkus?
- person iabughosh; 29.04.2021
Да. Какую версию остального клиента вы используете? Не могли бы вы открыть проблему в github.com/quarkusio/quarkus/issues с помощью репродуктора?
- person Michał Szynkiewicz; 29.04.2021
В качестве временного решения я использовал то, что вы предложили ResponseExceptionMapper, для указанного выше свойства конфигурации я открою для него билет, как только у меня будет готов репродуктор, я использую Quarkus 1.13.2.
- person iabughosh; 30.04.2021