Spring Boot nadpisanie metody customize

0

Witam

Nadpisałem metode w taki sposób:

@RestController
public class ErrorPageInitializer implements EmbeddedServletContainerCustomizer {

@Override
public void customize(ConfigurableEmbeddedServletContainer container) {
    container.addErrorPages(new ErrorPage(HttpStatus.BAD_REQUEST, "/error"));
    container.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/error"));
    container.addErrorPages(new ErrorPage(HttpStatus.BAD_GATEWAY, "/error"));

}

}

Gdy staram się wywołać bład na konsoli dostaje komunikat :

java.lang.IllegalStateException: Cannot call sendError() after the response has been committed

Ktoś pomoże rozwiązać problem ?

0

Uff co chcesz osiągnąć, bo raczej robisz to źle

0

Juz poprawiłem i wygląda to nieco inaczej :

@RestController
public class ErrorPageInitializer implements ErrorController {
private static final String welcomeText = "CNP convertion server";
private static final String errorText = "Error Occured. Contact with Administrator.";
private static final String PATH = "/error";

@RequestMapping
public String show() {
    return welcomeText;
}

@Override
@RequestMapping(value = PATH)
public String getErrorPath() {
    return errorText;
}

}

dodałem klasę z :

@ControllerAdvice
public class HandleError {
private static final String errorText = "Error Occured. Contact with Administrator.";

@ExceptionHandler(NoHandlerFoundException.class)
public String handleError(HttpServletRequest request, Exception e)   {
    String str = errorText;


    return errorText;
}

}

chciałbym ,żeby po uruchomieniu aplikacji na localhost:8081 wyskakiwał welcomeText i to działa. Natomiast druga sprawa to chciałbym ,że za każdym razem gdy wejdę na jakiś adres ,który nie ma przekierowania np localhost:8081/przyklad wyskakiwał errorText i tutaj mam problem ponieważ wyskoczy mi tylko pod adresem który podam w PATH a chciałbym dla wszystkich...

1 użytkowników online, w tym zalogowanych: 0, gości: 1