use of io.swagger.annotations.Api in project vertx-swagger by bobxwang.
the class RouteReaderExtension method applySchemes.
@Override
public void applySchemes(ReaderContext context, Operation operation, Method method) {
final List<Scheme> schemes = new ArrayList<>();
final ApiOperation apiOperation = ReflectionUtils.getAnnotation(method, ApiOperation.class);
final Api apiAnnotation = context.getCls().getAnnotation(Api.class);
if (apiOperation != null) {
schemes.addAll(parseSchemes(apiOperation.protocols()));
}
if (schemes.isEmpty() && apiAnnotation != null) {
schemes.addAll(parseSchemes(apiAnnotation.protocols()));
}
for (Scheme scheme : schemes) {
operation.scheme(scheme);
}
}
use of io.swagger.annotations.Api in project vertx-swagger by bobxwang.
the class RouteReaderExtension method applySecurityRequirements.
@Override
public void applySecurityRequirements(ReaderContext context, Operation operation, Method method) {
final List<SecurityRequirement> securityRequirements = new ArrayList<SecurityRequirement>();
final ApiOperation apiOperation = ReflectionUtils.getAnnotation(method, ApiOperation.class);
final Api apiAnnotation = context.getCls().getAnnotation(Api.class);
if (apiOperation != null) {
securityRequirements.addAll(parseAuthorizations(apiOperation.authorizations()));
}
if (securityRequirements.isEmpty() && apiAnnotation != null) {
securityRequirements.addAll(parseAuthorizations(apiAnnotation.authorizations()));
}
for (SecurityRequirement securityRequirement : securityRequirements) {
operation.security(securityRequirement);
}
}
use of io.swagger.annotations.Api in project vertx-swagger by bobxwang.
the class RouteReaderExtension method isReadable.
@Override
public boolean isReadable(ReaderContext context) {
final Api apiAnnotation = context.getCls().getAnnotation(Api.class);
final boolean isVerticle = Verticle.class.isAssignableFrom(context.getCls());
return isVerticle || (apiAnnotation != null && (context.isReadHidden() || !apiAnnotation.hidden()));
}
use of io.swagger.annotations.Api in project graylog2-server by Graylog2.
the class Generator method generateOverview.
public synchronized Map<String, Object> generateOverview() {
if (!overviewResult.isEmpty()) {
return overviewResult;
}
final List<Map<String, Object>> apis = Lists.newArrayList();
for (Class<?> clazz : getAnnotatedClasses()) {
Api info = clazz.getAnnotation(Api.class);
Path path = clazz.getAnnotation(Path.class);
if (info == null || path == null) {
LOG.debug("Skipping REST resource with no Api or Path annotation: <{}>", clazz.getCanonicalName());
continue;
}
final String prefixedPath = prefixedPath(clazz, path.value());
final Map<String, Object> apiDescription = Maps.newHashMap();
apiDescription.put("name", prefixedPath.startsWith(pluginPathPrefix) ? "Plugins/" + info.value() : info.value());
apiDescription.put("path", prefixedPath);
apiDescription.put("description", info.description());
apis.add(apiDescription);
}
Collections.sort(apis, (o1, o2) -> ComparisonChain.start().compare(o1.get("name").toString(), o2.get("name").toString()).result());
Map<String, String> info = Maps.newHashMap();
info.put("title", "Graylog REST API");
overviewResult.put("apiVersion", ServerVersion.VERSION.toString());
overviewResult.put("swaggerVersion", EMULATED_SWAGGER_VERSION);
overviewResult.put("apis", apis);
return overviewResult;
}
Aggregations