@ -85,7 +85,7 @@ public class AcceptHeaderLocaleResolver extends AbstractLocaleResolver {
@Override
public Locale resolveLocale(HttpServletRequest request) {
Locale defaultLocale = getDefaultLocale();
if (defaultLocale != null && request.getHeader("Accept-Language") == null) {
if (defaultLocale != null && !StringUtils.hasText(request.getHeader("Accept-Language"))) {
return defaultLocale;
}
Locale requestLocale = request.getLocale();
@ -105,6 +105,14 @@ class AcceptHeaderLocaleResolverTests {
assertThat(this.resolver.resolveLocale(request)).isEqualTo(US);
@Test
void defaultLocaleWithBlankAcceptLanguageHeader() {
this.resolver.setDefaultLocale(JAPANESE);
MockHttpServletRequest request = new MockHttpServletRequest();
request.addHeader("Accept-Language", "");
assertThat(this.resolver.resolveLocale(request)).isEqualTo(JAPANESE);
private HttpServletRequest request(Locale... locales) {