本文整理汇总了Java中javax.ws.rs.Produces.value方法的典型用法代码示例。如果您正苦于以下问题:Java Produces.value方法的具体用法?Java Produces.value怎么用?Java Produces.value使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类javax.ws.rs.Produces
的用法示例。
在下文中一共展示了Produces.value方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: findMediaTypesInAnnotations
import javax.ws.rs.Produces; //导入方法依赖的package包/类
/**
* Find media types of a @Produces or @Consumes Annotation.
*
* @param method
* method to analyze the annotations
* @param type
* annotation type
* @return list of media types
* @throws ParserException
* Error while the parsing process
*/
private List<String> findMediaTypesInAnnotations(java.lang.reflect.Method method, ResourceAcceptType type)
throws ParserException {
List<String> mediaTypes = new ArrayList<>();
Consumes consumes = method.getAnnotation(Consumes.class);
Produces produces = method.getAnnotation(Produces.class);
String[] values = null;
if (type.equals(ResourceAcceptType.CONSUMES) && consumes != null && consumes.value().length != 0) {
values = consumes.value();
} else if (type.equals(ResourceAcceptType.PRODUCES) && produces != null && produces.value().length != 0) {
values = produces.value();
}
if (values != null) {
for (String str : values) {
mediaTypes.add(str);
}
}
return mediaTypes;
}
示例2: process
import javax.ws.rs.Produces; //导入方法依赖的package包/类
@Override
public void process(Object annotation, OperationGenerator operationGenerator) {
Produces produces = (Produces) annotation;
for (String produce : produces.value()) {
if (!StringUtils.isEmpty(produce)) {
operationGenerator.getOperation().addProduces(produce);
}
}
}
示例3: scan
import javax.ws.rs.Produces; //导入方法依赖的package包/类
public void scan(List<String> scanPackages) {
ExecutionTimer timer = new ExecutionTimer(LogLevel.Info, true);
for (String scanPackage : scanPackages) {
logger.debug("Scanning for limberest services in package: {}", scanPackage);
Reflections reflect = new Reflections(scanPackage);
// service classes
for (Class<?> classWithPath : reflect.getTypesAnnotatedWith(Path.class)) {
logger.info("Found service class: {}", classWithPath.getName());
Path pathAnnotation = classWithPath.getAnnotation(Path.class);
if (pathAnnotation != null) {
String path = pathAnnotation.value();
if (path != null) {
logger.info(" -> and registering with path: {}", path);
Produces producesAnnotation = classWithPath.getAnnotation(Produces.class);
if (producesAnnotation != null && producesAnnotation.value() != null) {
// TODO can only produce one thing and consume if present must match produce
Consumes consumesAnnotation = classWithPath.getAnnotation(Consumes.class);
for (String contentType : producesAnnotation.value()) {
logger.info(" -> for content-type: {}", contentType);
@SuppressWarnings({"unchecked", "rawtypes"})
Class<? extends RestService<?>> serviceClass = (Class)classWithPath.asSubclass(RestService.class);
if (!RestService.class.isAssignableFrom(serviceClass))
throw new IllegalArgumentException(serviceClass + " does not extend " + RestService.class);
RegistryKey key = new RegistryKey(new ResourcePath(path), contentType);
ServiceRegistry.getInstance().put(key, serviceClass);
}
}
}
}
}
}
if (timer.isEnabled())
timer.log("limberest initializer scanned " + scanPackages.size() + " packages in ");
}
示例4: handleProducesAnnotation
import javax.ws.rs.Produces; //导入方法依赖的package包/类
private void handleProducesAnnotation(MethodMetadata data, Produces produces, String name) {
String[] serverProduces = produces.value();
String clientAccepts = serverProduces.length == 0 ? null : emptyToNull(serverProduces[0]);
checkState(clientAccepts != null, "Produces.value() was empty on %s", name);
data.template().header(ACCEPT, (String) null); // remove any previous produces
data.template().header(ACCEPT, clientAccepts);
}
示例5: addMediaTypes
import javax.ws.rs.Produces; //导入方法依赖的package包/类
private void addMediaTypes(List<MediaType> graphMediaTypes, Produces produceAnnotation) {
for (String mediaType : produceAnnotation.value()) {
graphMediaTypes.add(MediaType.valueOf(mediaType));
}
}