我试图将JBoss服务器从RESTEasy 3.0.10升级到3.1.0。我们的一个资源允许以纯文本或XML格式返回数据。它工作正常,但产生警告消息" RESTEASY002142:多个资源方法匹配请求"。
代码基本上如下所示:
@Path(value = "info")
public interface InfoResource {
@GET
@Produces("text/plain")
public InfoObject getInfo();
@GET
@Produces("text/xml")
public InfoObject getInfoXML();
}
每次服务器收到" info"的请求时,都会发出警告消息。资源并没有使用"接受"指定首选的返回类型。头。这段代码有问题吗?有没有办法摆脱变暖的消息?
请注意"图书馆"来自这个documentation的JBoss的类示例会产生相同的错误消息。
答案 0 :(得分:0)
我可以通过将两种可能的返回类型放入“Produces”注释来消除警告消息。
MessageBodyWriter
会将InfoObject转换为所需的格式。
@Path(value = "info")
public interface InfoResource {
@GET
@Produces({"text/plain", "text/xml"})
public InfoObject getInfo();
}