Search in sources :

Example 31 with Api

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);
    }
}
Also used : Scheme(io.swagger.models.Scheme) ArrayList(java.util.ArrayList) ApiOperation(io.swagger.annotations.ApiOperation) Api(io.swagger.annotations.Api)

Example 32 with Api

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);
    }
}
Also used : ArrayList(java.util.ArrayList) ApiOperation(io.swagger.annotations.ApiOperation) Api(io.swagger.annotations.Api) SecurityRequirement(io.swagger.models.SecurityRequirement)

Example 33 with Api

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()));
}
Also used : Api(io.swagger.annotations.Api)

Example 34 with Api

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;
}
Also used : Path(javax.ws.rs.Path) Api(io.swagger.annotations.Api) Map(java.util.Map) ImmutableMap(com.google.common.collect.ImmutableMap) HashMap(java.util.HashMap) AbstractMap(java.util.AbstractMap)

Aggregations

Api (io.swagger.annotations.Api)34 ApiOperation (io.swagger.annotations.ApiOperation)29 ApiResponse (io.swagger.annotations.ApiResponse)16 ApiResponses (io.swagger.annotations.ApiResponses)16 GET (javax.ws.rs.GET)16 Path (javax.ws.rs.Path)15 PathParam (javax.ws.rs.PathParam)15 Response (javax.ws.rs.core.Response)15 ApiParam (io.swagger.annotations.ApiParam)14 ArrayList (java.util.ArrayList)12 Inject (javax.inject.Inject)12 QueryParam (javax.ws.rs.QueryParam)12 URI (java.net.URI)11 Consumer (java.util.function.Consumer)11 PUT (javax.ws.rs.PUT)11 Context (javax.ws.rs.core.Context)11 Paths (java.nio.file.Paths)10 HttpServletRequest (javax.servlet.http.HttpServletRequest)10 DELETE (javax.ws.rs.DELETE)10 Produces (javax.ws.rs.Produces)10