Impossible de modifier l’en-tête d’acceptation HTTP - Utiliser une stratégie de résolution des paramètres régionaux différente

Impossible de modifier l'en-tête d'acceptation HTTP - utilisez une stratégie de résolution locale différente

Problème

Dans l'application Spring MVC, lors du changement de paramètres régionaux avec «org.springframework.web.servlet.i18n.LocaleChangeInterceptor», l'erreur suivante s'affiche

java.lang.UnsupportedOperationException:
     Cannot change HTTP accept header - use a different locale resolution strategy
     ...AcceptHeaderLocaleResolver.setLocale(AcceptHeaderLocaleResolver.java:45)

Solution

Dans l’application Spring MVC, si vous ne configurez pas le LocaleResolver de Spring, il utilisera leAcceptHeaderLocaleResolver par défaut, ce qui ne permet pas de modifier les paramètres régionaux. Pour le résoudre, essayez de déclarer un beanSessionLocaleResolver dans le fichier de configuration du bean Spring, cela devrait convenir dans la plupart des cas.