Actuellement, la réponse d'erreur de Spring Boot contient le contenu standard comme ci-dessous:
{
"timestamp" : 1426615606,
"exception" : "org.springframework.web.bind.MissingServletRequestParameterException",
"status" : 400,
"error" : "Bad Request",
"path" : "/welcome",
"message" : "Required String parameter 'name' is not present"
}
Je cherche un moyen de me débarrasser de la propriété "exception" dans la réponse. Existe-t-il un moyen d'y parvenir?
Comme décrit dans la documentation sur la gestion des erreurs , vous pouvez fournir votre propre bean qui implémente ErrorAttributes
pour prendre le contrôle du contenu.
Un moyen simple de le faire est de sous-classer DefaultErrorAttributes
. Par exemple:
@Bean
public ErrorAttributes errorAttributes() {
return new DefaultErrorAttributes() {
@Override
public Map<String, Object> getErrorAttributes(RequestAttributes requestAttributes, boolean includeStackTrace) {
Map<String, Object> errorAttributes = super.getErrorAttributes(requestAttributes, includeStackTrace);
// Customize the default entries in errorAttributes to suit your needs
return errorAttributes;
}
};
}