MediaType of REST - PullRequest
       16

MediaType of REST

0 голосов
/ 03 июня 2010

Я новичок в веб-сервисах REST.

Я написал программу REST для отображения HTML или XML. Значение аннотации @Path равно @Path("{typeDocument}"). Есть два метода для GET:

@GET
@Produces(MediaType.TEXT_XML)
public String getXml(@PathParam("typeDocument") String typeDocument)

для отображения файла XML, и

@GET
@Produces(MediaType.TEXT_HTML)
public String getHtml(@PathParam("typeDocument") String typeDocument)

для отображения HTML.

Браузер Firefox всегда извиняет getHtml (), когда URL либо

http://localhost:8080/sources/html или http://localhost:8080/sources/xml

Но IE всегда оправдывает getXml().

Как извинить правильный метод, определенный URL, в другом браузере?

1 Ответ

1 голос
/ 03 июня 2010

попробуйте использовать MediaType.APPLICATION_XML вместо TEXT_XML.

Как говорится, это не лучшее использование JAX-RS - особенно если вы используете RestEASY или любую другую реализацию с поддержкой JAXB.

@GET
@Produces(MediaType.APPLICATION_XML)
@Path("/{typeDocument}")
public MyObject getXml(@PathParam("typeDocument") String typeDocument) {
 myObjectService.get(typeDocument);
}


@XmlRootElement(name="myObject")
public class MyObject {
// Some properties
}

будет гораздо проще поддерживать. Вы также можете использовать JSP для HTML.

См. http://java.dzone.com/articles/resteasy-spring для хорошего примера (с использованием Spring).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...