2.7.11.5. 多部分消息覆盖默认回退内容类型


默认情况下,如果部分 文本/plain 中不存在 Content-Type 标头;charset=us-ascii 用作回退。这由 MIME RFC 定义。但是,某些 Web 客户端(如许多浏览器)可能会为文件部分发送 Content-Type 标头,但不适用于 多部分/格式数据 请求中的所有字段。这可能会导致服务器端的字符编码和取消处理错误。RESTEasy 的 PreProcessInterceptor 基础架构可用于更正此问题。您可以使用它为每个请求动态定义另一个非 RFC 兼容回退值。

示例:将 * / *; charset=UTF-8 设置为默认 Fallback

import org.jboss.resteasy.plugins.providers.multipart.InputPart;

@Provider
@ServerInterceptor
public class ContentTypeSetterPreProcessorInterceptor implements PreProcessInterceptor {

    public ServerResponse preProcess(HttpRequest request, ResourceMethod method)
            throws Failure, WebApplicationException {
        request.setAttribute(InputPart.DEFAULT_CONTENT_TYPE_PROPERTY, "*/*; charset=UTF-8");
        return null;
    }
}
Copy to Clipboard Toggle word wrap

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat