在我一直在研究的网络服务中,我一直在通过HTML中的方法向屏幕显示文字:
@GET
@Produces(MediaType.TEXT_HTML)
public String sayHtmlHello()
{
/**Do some stuff
return "<html> " + "<title>" + "Hello" + "</title>"
+ "<body><h1>" + "Hello World" + "</h1></body></html>";
}
非常好地显示在屏幕上。为了适应我正在处理的项目的项目描述,我一直致力于通过构建文档,将其转换为字符串并返回字符串来转向XML输出。使用@Produces(MediaType.TEXT_XML)可以像我期望的那样显示XML树。
我的问题来自:我需要能够使用项目描述所谓的application / xml的响应内容类型标头传递此XML数据; charset = UTF-8。那么我需要做些什么来容纳使用@Produces(MediaType.APPLICATION_XML)而不是@Produces(MediaType.TEXT_XML)?
答案 0 :(得分:4)
application/xml
通常是首选的mime类型。对于text/xml
,无论XML文档标头中指定了什么,除非在HTTP标头中另有指定,否则编码通常会被视为us ascii
。
更多信息:
答案 1 :(得分:4)
将application / xml用于主要由程序处理的文档。将text / xml用于文档,这些文档也用于人工阅读以用于调试以外的目的。我相信这在RFC 2046中有所涉及。