Переопределение фильтра Zuul SendErrorFilter

Класс org.springframework.cloud.netflix.zuul.filters.post.SendErrorFilter обрабатывает ответы об ошибках.

Я хотел бы переопределить этот фильтр, чтобы сделать собственный ответ вместо ZuulException при пересылке и т. Д.

Как я могу заменить это своей версией? Просто написать и зарегистрироваться? Подойдет или нужно что-то еще?


person EvilJinious1    schedule 19.03.2015    source источник


Ответы (3)


все, что вам нужно сделать, это создать ZuulFilter и представить его как @Bean. Он должен быть в порядке до SendErrorFilter, который установлен на 0. Возможно, вам придется удалить "error.status_code" из RequestContext, чтобы SendErrorFilter не запускался.

person spencergibb    schedule 19.03.2015
comment
хорошо, это имеет смысл. Я думал о том, чтобы поставить его в предварительном порядке, но хотел знать, как убедиться, что SendErrorFilter не срабатывает. Спасибо, так и будет. - person EvilJinious1; 19.03.2015
comment
@EvilJinious1 EvilJinious1, ты смог это сделать? Я пытался это сделать, но не могу заставить его работать... можешь опубликовать здесь свой фактический ответ, - person Grinish Nepal; 08.04.2016

Вам нужно будет отключить SendErrorFilter по умолчанию, добавив zuul.SendErrorFilter.post.disable: true к вашему application.properties. После этого вы можете создать свой собственный.

person Viktor Yarmak    schedule 14.07.2016

имя свойства изменено на "zuul.SendErrorFilter.error.disable"

person Pradeep Balakrishnan    schedule 16.06.2017
comment
Кажется, это не мешает созданию bean-компонента SendErrorFilter, не так ли? - person Rüdiger Schulz; 22.02.2020