2.7.3. 提供程序实用程序类
javax.ws.rs.ext.Providers 是一个简单的可注入界面,允许您查找 MessageBodyReaders、Writers、 ContextResolvers 和 ExceptionMappers。它对于实施嵌入其他随机内容类型的多部分提供程序和内容类型非常有用。
public interface Providers {
<T> MessageBodyReader<T> getMessageBodyReader(Class<T> type, Type genericType, Annotation annotations[], MediaType mediaType);
<T> MessageBodyWriter<T> getMessageBodyWriter(Class<T> type, Type genericType, Annotation annotations[], MediaType mediaType);
<T extends="" throwable=""> ExceptionMapper<T> getExceptionMapper(Class<T> type);
<T> ContextResolver<T> getContextResolver(Class<T> contextType, MediaType mediaType);
}
Providers 实例可以注入到 MessageBodyReader 或 Writers 中:
@Provider
@Consumes("multipart/fixed")
public class MultipartProvider implements MessageBodyReader {
private @Context Providers providers;
...
}