web-dev-qa-db-fra.com

Mappage des erreurs/démarrage au démarrage du printemps

Je crée une API avec Spring Boot afin de désactiver le mappage /error.

J'ai défini les accessoires suivants dans application.properties:

server.error.whitelabel.enabled=false
spring.mvc.throw-exception-if-no-handler-found=true
spring.resources.add-mappings=false

Cependant, lorsque je clique sur /error, je reçois:

HTTP/1.1 500 Internal Server Error
Server: Apache-Coyote/1.1
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Date: Wed, 03 Aug 2016 15:15:31 GMT
Connection: close

{"timestamp":1470237331487,"status":999,"error":"None","message":"No message available"}

Résultat requis

HTTP/1.1 404 Internal Server Error
Server: Apache-Coyote/1.1
12
ptimson

Vous pouvez désactiver la configuration ErrorMvcAutoConfiguration:

@SpringBootApplication
@EnableAutoConfiguration(exclude = {ErrorMvcAutoConfiguration.class})
public class SpringBootLauncher {

Ou bien à travers application.yml/properties de Spring Boot:

spring.autoconfigure.exclude: org.springframework.boot.autoconfigure.web.ErrorMvcAutoConfiguration

Si ce n'est pas une option pour vous, vous pouvez également étendre ErrorController de Spring avec votre propre implémentation:

@RestController
public class MyErrorController implements ErrorController {

    private static final String ERROR_MAPPING = "/error";

    @RequestMapping(value = ERROR_MAPPING)
    public ResponseEntity<String> error() {
        return new ResponseEntity<String>(HttpStatus.NOT_FOUND);
    }

    @Override
    public String getErrorPath() {
        return ERROR_MAPPING;
    }
24
alexbt

Dans mon cas, le problème concernait les ressources Web référencées dans l'en-tête de la page de connexion. Spécifiquement, css était référencé dans l'en-tête, mais n'existait pas réellement dans le projet.

Ce qui pourrait également être utile, dans mon implémentation WebSecurityConfigurerAdapter, j’ai commenté le corps de configure(WebSecurity web) en premier, puis en essayant de vous connecter, au lieu d’afficher l’erreur ci-dessus json, la barre d’adresse de mon navigateur afficherait l’url de la ressource à l’origine du problème.

0
Mu-Sonic