是否有一种应用程序范围内的方法,可以在所有JAX-RS/资源上默认@Produces批注?
我有很多产生Web服务的类。与其将@Produces({"application/json", "application/xml"})
放在每个标签上,不如放在一个中央位置。这样,我可以将 future 的生产者添加到一个地方,而不必修改每个类。
我当前正在将Resteasy与Jetty一起使用。
最佳答案
我知道这个问题有点老了,但对像我这样的人可能会有帮助。除了ccleve解决方案之外,您还可以使用接口(interface)。由于具有多重继承,因此您可以通过接口(interface)组合多种媒体类型。例子:
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public interface IJsonResource {
}
和
@Produces(MediaType.APPLICATION_XML)
@Consumes(MediaType.APPLICATION_XML)
public interface IXmlResource {
}
然后在您的具体JAX-RS资源类中:
public class SomeJaxRsResource implements IJsonResource, IXmlResource {
...
}