return overviewResult;
}
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;
}
Map<String, Object> apiDescription = Maps.newHashMap();
apiDescription.put("name", info.value());
apiDescription.put("path", path.value());
apiDescription.put("description", info.description());
apis.add(apiDescription);
}
Collections.sort(apis, new Comparator<Map<String, Object>>() {
@Override
public int compare(Map<String, Object> o1, Map<String, Object> o2) {
return ComparisonChain.start().compare(o1.get("name").toString(), o2.get("name").toString()).result();
}
});
Map<String, String> info = Maps.newHashMap();
info.put("title", "Graylog2 REST API");
overviewResult.put("apiVersion", ServerVersion.VERSION.toString());
overviewResult.put("swaggerVersion", EMULATED_SWAGGER_VERSION);
overviewResult.put("apis", apis);