Как я могу использовать application / xml по сравнению с text / xml? - PullRequest
4 голосов
/ 26 мая 2011

В веб-сервисе, над которым я работал, я отображал текст на экране с помощью таких методов, как в 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, как я и ожидал.

Мой вопрос возникает здесь: мне нужно иметь возможность передавать эти XML-данные, используя то, что в описании проекта называется заголовком типа содержимого ответа для application / xml; charset = UTF-8. Итак, что мне нужно сделать, чтобы использовать @Produces (MediaType.APPLICATION_XML) вместо @Produces (MediaType.TEXT_XML)?

Ответы [ 2 ]

4 голосов
/ 26 мая 2011

Используйте application / xml для документов, предназначенных главным образом для обработки программами.Используйте text / xml для документов, которые также предназначены для чтения человеком для целей, отличных от отладки.Я считаю, что это описано в RFC 2046.

4 голосов
/ 26 мая 2011

application/xml обычно является предпочтительным типом пантомимы.Для text/xml представляется, что кодировка обычно будет обрабатываться как us ascii независимо от того, что указано в заголовке документа XML (если иное не указано в заголовках HTTP).

Для получения дополнительной информации:

...