J'aimerais avoir un message personnalisé pour la réponse HTTP, c'est-à-dire au lieu du message ci-dessus, je veux un "message" personnalisé: p> Voici mon classe d'exception: P> catch(Exception e)
{
//basically I want e.getMessage() to be the value of the "Message" key
throw new ThrowErrorMessage(e.getMessage());
}
3 Réponses :
Dans votre contrôleur, ne faites pas de prises de vue. Au lieu de cela, effectuez directement un et s'il y a une erreur, vous obtiendrez ce que vous souhaitez, c'est-à-dire P> lance code> sur la méthode, comme: @Component
public class CustomErrorAttributes extends DefaultErrorAttributes {
@Autowired
private ObjectMapper objectMapper;
@Override
public Map<String, Object> getErrorAttributes(WebRequest webRequest, ErrorAttributeOptions options) {
Map<String, Object> map = super.getErrorAttributes(webRequest, options);
//customize the values of the map here i.e timestamp, status, error, message, path
return map;
}
}
CATCODER69 Est-ce que cela répond à vos questions?
@jumping_monkey J'aime l'idée, mais la fonction que j'ai définie a un autre type de retour (mon type de retour est d'un type de classe, la classe étant définie par moi) ... alors mon objectif est que tout va bien, alors Je retourne un objet de ce type de classe, sinon nous obtenons le message d'erreur dans le format indiqué.
J'obtiens ce que vous voulez dire, ma réponse s'adresse à cela, regardez le retour Nouvelle réponse de retour <> (Responedto, httpStatus); code>. Il renvoie un organe de réponse, c'est-à-dire répésié code>, dans votre cas, ce serait votre objet de classe. J'ai mis à jour ma réponse avec un exemple.
Si vous utilisez Spring Boot 2.3, définissez la propriété ci-dessous dans Application.Properties ajoutera votre message personnalisé dans la réponse.
server.error.include-message=always
Personnaliser la réponse d'erreur, basée sur une exception peut être effectuée, à l'aide d'ExceptionnelHandler.
Vous pouvez également réutiliser Voir aussi Utilisation de errorAttributes dans notre erreur personnalisée défaulterrorattributes cod> et ResponsibleExceptionDherler Code> Comme ceci: https: // Stackoverflow. COM / A / 64866190/548473 P>
/ a> p>