Лучший способ интеграции Rollbar с Spring Goot / JHipster? - PullRequest
0 голосов
/ 10 июля 2019

Я пытаюсь интегрировать https://rollbar.com/ в приложение Jhipster.

В своей документации они предлагают создать класс, подобный следующему:

@ControllerAdvice
@EnableWebMvc
public class GlobalExceptionHandlerController {

    public static final String DEFAULT_ERROR_VIEW = "error";

    @ExceptionHandler(value = Exception.class)
    public ModelAndView defaultErrorHandler(HttpServletRequest req, Exception e) throws Exception {

        final Rollbar rollbar = new Rollbar(withAccessToken("8e194f5f31db4ff1b4e3e0951a40c936")
                .environment("production").handleUncaughtErrors(true).build());
        rollbar.error(e);
        ModelAndView mav = new ModelAndView();
        mav.addObject("exception", e);
        mav.addObject("url", req.getRequestURL());
        mav.setViewName(DEFAULT_ERROR_VIEW);
        return mav;
    }

Однако jHipster уже имеет класс, помеченный @ControllerAdvice: public class ExceptionTranslator implements ProblemHandling, и если я добавлю вышеупомянутый метод, интеграция роликов будет работать, но тогда я получу неудачные тесты для

ExceptionTranslatorIntTest.testExceptionWithResponseStatus:126 Status expected:<400> but was:<200>
  ExceptionTranslatorIntTest.testInternalServerError:135 Status expected:<500> but was:<200>

, поскольку новый метод не позволяет вводить метод ExceptionTranslator.process(@Nullable ResponseEntity<Problem> entity).

Iне уверен, что это хороший подход для достижения обеих функций?

Спасибо!

...