Java 中间型休息

Java 中间型休息,java,rest,jax-rs,Java,Rest,Jax Rs,我是RESTWeb服务的初学者 我编写了一个REST程序来显示HTML或XML。@Path注释的值是@Path(“{typeDocument}”)。GET有两种方法: @GET @Produces(MediaType.TEXT_XML) public String getXml(@PathParam("typeDocument") String typeDocument) 要显示XML文件, 及 显示HTML 当URL为 或 但是IE总是执行getXml() 如何在不同的浏览器中执行URL定义

我是RESTWeb服务的初学者

我编写了一个REST程序来显示HTML或XML。@Path注释的值是
@Path(“{typeDocument}”)
。GET有两种方法:

@GET
@Produces(MediaType.TEXT_XML)
public String getXml(@PathParam("typeDocument") String typeDocument)
要显示XML文件, 及

显示HTML

当URL为

但是IE总是执行
getXml()


如何在不同的浏览器中执行URL定义的正确方法

尝试使用MediaType.APPLICATION\u XML而不是TEXT\u 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
}
这将是一种更容易维护的方法。您还可以对HTML使用JSP


请参阅以获取一个好的示例(使用Spring)。

对格式稍加注意会有很大帮助……非常感谢。我解决了这个问题。我从类中删除了@Path,并在每个方法之前添加了@Path,如下所示:@GET@products(MediaType.APPLICATION\u XML)@Path(“XML”)公共字符串getXml()@GET@products(MediaType.TEXT\u HTML)@Path(“HTML”)公共字符串getHtml()现在运行良好。很高兴能提供帮助。如果问题解决了,你应该接受答案,让别人知道你不再需要帮助。
@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
}