搜索

2.7. 内容划分和提供程序

download PDF

2.7.1. 默认供应商和默认的 Jakarta RESTful Web 服务内容转换

RESTEasy 可以自动托管和解封几个不同的消息正文。

表 2.1. 支持的介质类型和 Java 类型
介质类型Java 类型

application/* +xml,text/* +xml,application/* +json,application/* +fastinfoset,application/ atom+*

JAXB 标注的类

application/* +xml,text/* +xml

org.w3c.dom.Document

* / *

java.lang.String

* / *

java.io.InputStream

text/plain

用于输出的原语、java.lang.String 或具有 String 构造器或静态 valueOf(String)方法的任何类型

* / *

javax.activation.DataSource

* / *

java.io.File

* / *

字节

application/x-www-form-urlencoded

javax.ws.rs.core.MultivaluedMap

2.7.1.1. 文本介质类型和字符集

根据 JAX-RS 规范,在编写响应时,实施必须遵循由应用提供的字符集元数据。如果没有由应用程序指定字符集,或者应用程序指定了不支持的字符集,则实施必须使用 UTF-8 字符集。

相反,根据 HTTP 规范,发件人未提供显式 charset 参数时,将 文本 类型的媒体子类型定义为具有默认的 charset 值 ISO-8859-1ISO-8859-1 或其子集以外的字符集中的数据必须使用适当的 charset 值进行标记。

如果没有通过资源或资源方法指定的字符集,RESTEasy 将 UTF-8 用作文本媒体类型的字符集。为此,RESTEasy 会将一个明确的 charset 参数添加到内容类型响应标头中。

要指定原始行为,其中 UTF-8 用于文本介质类型,但未附加显式 charset 参数,请将上下文参数 resteasy.add.charset 设置为 false。此参数的默认值为 true

注意

文本介质类型包括:

  • 类型为 文本 和任何子类型的介质类型.
  • 类型为 application 和子类型(以 xml 开头的介质类型)这包括 application/xml-external-parsed-entityapplication/xml-dtd
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.