2
votes

La page d'erreur Spring Boot 2.1.html ne s'affiche pas

J'utilise spring-boot 2.1.3 et je souhaite ajouter une page d'erreur comme solution de secours. J'ai essayé d'ajouter un fichier error.html sous le dossier templates mais cela n'a pas fonctionné.

J'ai également essayé d'ajouter ErrorController et de classer une page pour chaque type d'erreur et cela n'a pas fonctionné non plus.

Y a-t-il d'autres configurations que je devrais faire?

Merci d'avance.


0 commentaires

3 Réponses :


0
votes

La seule chose à laquelle je peux penser (sans aucun exemple de code fourni) est que / error pourrait ne pas avoir l'autorisation de voir. Veuillez essayer de définir l'autorisation dans SecurityConfigurations pour permettre à tous d'accéder à / error.

http.authorizeRequests().antMatchers("/error").permitAll();


1 commentaires

Merci pour la réponse, j'ai ajouté une erreur aux antMatchers et toujours aucun changement, ainsi que server.error.whitelabel.enabled = false dans application.properties



1
votes

En plus de désactiver la page d'erreur Whitelabel, ce que vous pouvez faire en ajoutant cette propriété à votre fichier de propriétés:

src/
 +- main/
     +- java/
     |   + <source code>
     +- resources/
         +- public/
             +- error/
                 +- 404.html

Assurez-vous d'avoir votre page d'erreur statique (par exemple 404.html ) dans le dossier suivant:

server.error.whitelabel.enabled=false

Source: Documentation Spring Boot


13 commentaires

Merci pour la réponse J'ai structuré les fichiers comme vous l'avez demandé et toujours pas de changement


@motawfik pouvez-vous élaborer? que voyez-vous exactement sur votre navigateur? avez-vous ajouté la propriété à votre fichier de propriétés?


{horodatage: 1551216779662, état: 404, erreur: "Non trouvé", message: "Aucun message disponible", chemin: "/ ss"} Ceci est renvoyé en JSON Et oui, j'ai ajouté la propriété


@motawfik vous devrez éditer votre question et nous montrer votre contrôleur / ou comment vous gérez les vues ... il semble que vous n'utilisez pas les valeurs par défaut !?


non je n'utilise pas de contrôleur pour les erreurs, j'essaie d'utiliser la page error.html par défaut pour une solution de secours


Je crains qu'à moins que vous ne fournissiez plus d'informations sur votre question, je ne pourrais pas vous aider à comprendre quel est le problème. La question contient de petits détails. Les valeurs par défaut (telles que présentées sur les documents) devraient fonctionner (en effet, elles ont fonctionné pour moi). S'ils ne fonctionnent pas, il est probable que vos paramètres particuliers modifient le comportement par défaut. Sans informations supplémentaires, je ne peux pas faire grand-chose


Avez-vous quelque chose mappé à / ss ? (toute autre ressource ou point de terminaison? - GET, POST, etc?)


Non, il n'y a pas de mappage pour / ss (cette même réponse est renvoyée pour n'importe quelle URL) De quel type d'informations supplémentaires avez-vous besoin?


où s'exécute votre application (dans quel contexte)? comment savez-vous que les choses fonctionnent?


merci pour le partage, mais quand j'ai ajouté cette ligne à mon fichier de propriétés, la marque blanche réapparaît. J'ai eu deux cas, si je le supprime, je serai redirigé vers le même chemin, et si ce n'est pas le cas, la page de marque blanche apparaît.


Si vous trouvez une réponse utile, n'hésitez pas à voter. Si vous avez un problème distinct, posez une question et liez-la dans les commentaires afin que nous puissions l'examiner


J'utilisais des "modèles" au lieu de "public" et cela ne fonctionnait PAS. Dès que je suis passé en "public", ça a marché !!!!!!! Probablement, il est passé du printemps 1.5 au printemps 2.1, car j'ai un projet utilisant des "modèles" au printemps 1.5 et cela fonctionne bien.


@Goose a peut-être changé. Cela fait un moment que je n'ai pas travaillé sur 1.5 :)



0
votes

L'ajout direct du fichier error.html dans les ressources / modèles ne fonctionnait pas non plus pour moi. J'ai donc créé un contrôleur d'erreur personnalisé et ajouté le fichier error.html dans le dossier resources / static.

Source: https://www.baeldung.com/spring-boot -page-d'erreur-personnalisée

@Controller
public class CustomizedErrorController implements ErrorController  {

    @RequestMapping("/error")
    public String handleError() {
        return "error.html";
    }

    @Override
    public String getErrorPath() {
        return "/error";
    }
}

 entrez la description de l'image ici


0 commentaires