有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java无法更改HTTP accept标头在“lang”的多部分FormData包含上使用不同的区域设置解析策略

在Spring Boot 1.5.9应用程序中,我有以下LocaleResolver


    @Bean
    public LocaleResolver localeResolver() {
        AcceptHeaderLocaleResolver acceptHeaderLocaleResolver = new AcceptHeaderLocaleResolver() {
            @Override
            public Locale resolveLocale(HttpServletRequest request) {
                String locale = request.getParameter("lang");
                return locale != null
                        ? org.springframework.util.StringUtils.parseLocaleString(locale)
                        : super.resolveLocale(request);
            }
        };
        acceptHeaderLocaleResolver.setDefaultLocale(webMvcProperties.getLocale());
        return acceptHeaderLocaleResolver;
    }

    @Bean
    public LocaleChangeInterceptor localeChangeInterceptor() {
        LocaleChangeInterceptor lci = new LocaleChangeInterceptor();
        lci.setParamName("lang");
        return lci;
    }

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(localeChangeInterceptor());
    }

出于某种原因,我有一个副作用,当我POST一个包含名为lang的键的多部分表单数据时,我会出现以下错误:

Cannot change HTTP accept header - use a different locale resolution strategy

为了能够在表单数据中使用form,我为什么以及如何解决这个问题


共 (0) 个答案