Search in sources :

Example 1 with BasicAuthDefinition

use of io.swagger.annotations.BasicAuthDefinition in project swagger-core by swagger-api.

the class Reader method readSwaggerConfig.

protected void readSwaggerConfig(Class<?> cls, SwaggerDefinition config) {
    if (!config.basePath().isEmpty()) {
        swagger.setBasePath(config.basePath());
    }
    if (!config.host().isEmpty()) {
        swagger.setHost(config.host());
    }
    readInfoConfig(config);
    for (String consume : config.consumes()) {
        if (StringUtils.isNotEmpty(consume)) {
            swagger.addConsumes(consume);
        }
    }
    for (String produce : config.produces()) {
        if (StringUtils.isNotEmpty(produce)) {
            swagger.addProduces(produce);
        }
    }
    for (OAuth2Definition oAuth2Config : config.securityDefinition().oAuth2Definitions()) {
        io.swagger.models.auth.OAuth2Definition oAuth2Definition = new io.swagger.models.auth.OAuth2Definition();
        OAuth2Definition.Flow flow = oAuth2Config.flow();
        if (flow.equals(OAuth2Definition.Flow.ACCESS_CODE)) {
            oAuth2Definition = oAuth2Definition.accessCode(oAuth2Config.authorizationUrl(), oAuth2Config.tokenUrl());
        } else if (flow.equals(OAuth2Definition.Flow.APPLICATION)) {
            oAuth2Definition = oAuth2Definition.application(oAuth2Config.tokenUrl());
        } else if (flow.equals(OAuth2Definition.Flow.IMPLICIT)) {
            oAuth2Definition = oAuth2Definition.implicit(oAuth2Config.authorizationUrl());
        } else {
            oAuth2Definition = oAuth2Definition.password(oAuth2Config.tokenUrl());
        }
        for (Scope scope : oAuth2Config.scopes()) {
            oAuth2Definition.addScope(scope.name(), scope.description());
        }
        oAuth2Definition.setDescription(oAuth2Config.description());
        swagger.addSecurityDefinition(oAuth2Config.key(), oAuth2Definition);
    }
    for (ApiKeyAuthDefinition[] apiKeyAuthConfigs : new ApiKeyAuthDefinition[][] { config.securityDefinition().apiKeyAuthDefintions(), config.securityDefinition().apiKeyAuthDefinitions() }) {
        for (ApiKeyAuthDefinition apiKeyAuthConfig : apiKeyAuthConfigs) {
            io.swagger.models.auth.ApiKeyAuthDefinition apiKeyAuthDefinition = new io.swagger.models.auth.ApiKeyAuthDefinition();
            apiKeyAuthDefinition.setName(apiKeyAuthConfig.name());
            apiKeyAuthDefinition.setIn(In.forValue(apiKeyAuthConfig.in().toValue()));
            apiKeyAuthDefinition.setDescription(apiKeyAuthConfig.description());
            swagger.addSecurityDefinition(apiKeyAuthConfig.key(), apiKeyAuthDefinition);
        }
    }
    for (BasicAuthDefinition[] basicAuthConfigs : new BasicAuthDefinition[][] { config.securityDefinition().basicAuthDefinions(), config.securityDefinition().basicAuthDefinitions() }) {
        for (BasicAuthDefinition basicAuthConfig : basicAuthConfigs) {
            io.swagger.models.auth.BasicAuthDefinition basicAuthDefinition = new io.swagger.models.auth.BasicAuthDefinition();
            basicAuthDefinition.setDescription(basicAuthConfig.description());
            swagger.addSecurityDefinition(basicAuthConfig.key(), basicAuthDefinition);
        }
    }
    if (!config.externalDocs().value().isEmpty()) {
        ExternalDocs externalDocs = swagger.getExternalDocs();
        if (externalDocs == null) {
            externalDocs = new ExternalDocs();
            swagger.setExternalDocs(externalDocs);
        }
        externalDocs.setDescription(config.externalDocs().value());
        if (!config.externalDocs().url().isEmpty()) {
            externalDocs.setUrl(config.externalDocs().url());
        }
    }
    for (io.swagger.annotations.Tag tagConfig : config.tags()) {
        if (!tagConfig.name().isEmpty()) {
            Tag tag = new Tag();
            tag.setName(tagConfig.name());
            tag.setDescription(tagConfig.description());
            if (!tagConfig.externalDocs().value().isEmpty()) {
                tag.setExternalDocs(new ExternalDocs(tagConfig.externalDocs().value(), tagConfig.externalDocs().url()));
            }
            tag.getVendorExtensions().putAll(BaseReaderUtils.parseExtensions(tagConfig.extensions()));
            swagger.addTag(tag);
        }
    }
    for (SwaggerDefinition.Scheme scheme : config.schemes()) {
        if (scheme != SwaggerDefinition.Scheme.DEFAULT) {
            swagger.addScheme(Scheme.forValue(scheme.name()));
        }
    }
}
Also used : OAuth2Definition(io.swagger.annotations.OAuth2Definition) BasicAuthDefinition(io.swagger.annotations.BasicAuthDefinition) ExternalDocs(io.swagger.models.ExternalDocs) ApiKeyAuthDefinition(io.swagger.annotations.ApiKeyAuthDefinition) AuthorizationScope(io.swagger.annotations.AuthorizationScope) Scope(io.swagger.annotations.Scope) Tag(io.swagger.models.Tag) SwaggerDefinition(io.swagger.annotations.SwaggerDefinition)

Example 2 with BasicAuthDefinition

use of io.swagger.annotations.BasicAuthDefinition in project swagger-core by swagger-api.

the class Reader method readSwaggerConfig.

private void readSwaggerConfig(SwaggerDefinition config) {
    readInfoConfig(config);
    if (StringUtils.isNotBlank(config.basePath())) {
        swagger.setBasePath(config.basePath());
    }
    if (StringUtils.isNotBlank(config.host())) {
        swagger.setHost(config.host());
    }
    for (String consume : config.consumes()) {
        if (StringUtils.isNotBlank(consume)) {
            swagger.addConsumes(consume);
        }
    }
    for (String produce : config.produces()) {
        if (StringUtils.isNotBlank(produce)) {
            swagger.addProduces(produce);
        }
    }
    if (StringUtils.isNotBlank(config.externalDocs().value())) {
        ExternalDocs externalDocs = swagger.getExternalDocs();
        if (externalDocs == null) {
            externalDocs = new ExternalDocs();
            swagger.setExternalDocs(externalDocs);
        }
        externalDocs.setDescription(config.externalDocs().value());
        if (StringUtils.isNotBlank(config.externalDocs().url())) {
            externalDocs.setUrl(config.externalDocs().url());
        }
    }
    for (OAuth2Definition oAuth2Config : config.securityDefinition().oAuth2Definitions()) {
        io.swagger.models.auth.OAuth2Definition oAuth2Definition = new io.swagger.models.auth.OAuth2Definition();
        OAuth2Definition.Flow flow = oAuth2Config.flow();
        if (flow.equals(OAuth2Definition.Flow.ACCESS_CODE)) {
            oAuth2Definition = oAuth2Definition.accessCode(oAuth2Config.authorizationUrl(), oAuth2Config.tokenUrl());
        } else if (flow.equals(OAuth2Definition.Flow.APPLICATION)) {
            oAuth2Definition = oAuth2Definition.application(oAuth2Config.tokenUrl());
        } else if (flow.equals(OAuth2Definition.Flow.IMPLICIT)) {
            oAuth2Definition = oAuth2Definition.implicit(oAuth2Config.authorizationUrl());
        } else {
            oAuth2Definition = oAuth2Definition.password(oAuth2Config.tokenUrl());
        }
        for (Scope scope : oAuth2Config.scopes()) {
            oAuth2Definition.addScope(scope.name(), scope.description());
        }
        oAuth2Definition.setDescription(oAuth2Config.description());
        swagger.addSecurityDefinition(oAuth2Config.key(), oAuth2Definition);
    }
    for (ApiKeyAuthDefinition[] apiKeyAuthConfigs : new ApiKeyAuthDefinition[][] { config.securityDefinition().apiKeyAuthDefintions(), config.securityDefinition().apiKeyAuthDefinitions() }) {
        for (ApiKeyAuthDefinition apiKeyAuthConfig : apiKeyAuthConfigs) {
            io.swagger.models.auth.ApiKeyAuthDefinition apiKeyAuthDefinition = new io.swagger.models.auth.ApiKeyAuthDefinition();
            apiKeyAuthDefinition.setName(apiKeyAuthConfig.name());
            apiKeyAuthDefinition.setIn(In.forValue(apiKeyAuthConfig.in().toValue()));
            apiKeyAuthDefinition.setDescription(apiKeyAuthConfig.description());
            swagger.addSecurityDefinition(apiKeyAuthConfig.key(), apiKeyAuthDefinition);
        }
    }
    for (BasicAuthDefinition[] basicAuthConfigs : new BasicAuthDefinition[][] { config.securityDefinition().basicAuthDefinions(), config.securityDefinition().basicAuthDefinitions() }) {
        for (BasicAuthDefinition basicAuthConfig : basicAuthConfigs) {
            io.swagger.models.auth.BasicAuthDefinition basicAuthDefinition = new io.swagger.models.auth.BasicAuthDefinition();
            basicAuthDefinition.setDescription(basicAuthConfig.description());
            swagger.addSecurityDefinition(basicAuthConfig.key(), basicAuthDefinition);
        }
    }
    for (io.swagger.annotations.Tag tagConfig : config.tags()) {
        if (StringUtils.isNotBlank(tagConfig.name())) {
            final Tag tag = new Tag();
            tag.setName(tagConfig.name());
            tag.setDescription(tagConfig.description());
            if (StringUtils.isNotBlank(tagConfig.externalDocs().value())) {
                tag.setExternalDocs(new ExternalDocs(tagConfig.externalDocs().value(), tagConfig.externalDocs().url()));
            }
            tag.getVendorExtensions().putAll(BaseReaderUtils.parseExtensions(tagConfig.extensions()));
            swagger.addTag(tag);
        }
    }
    for (SwaggerDefinition.Scheme scheme : config.schemes()) {
        if (scheme != SwaggerDefinition.Scheme.DEFAULT) {
            swagger.addScheme(Scheme.forValue(scheme.name()));
        }
    }
}
Also used : OAuth2Definition(io.swagger.annotations.OAuth2Definition) BasicAuthDefinition(io.swagger.annotations.BasicAuthDefinition) ExternalDocs(io.swagger.models.ExternalDocs) ApiKeyAuthDefinition(io.swagger.annotations.ApiKeyAuthDefinition) Scope(io.swagger.annotations.Scope) Tag(io.swagger.models.Tag) SwaggerDefinition(io.swagger.annotations.SwaggerDefinition)

Aggregations

ApiKeyAuthDefinition (io.swagger.annotations.ApiKeyAuthDefinition)2 BasicAuthDefinition (io.swagger.annotations.BasicAuthDefinition)2 OAuth2Definition (io.swagger.annotations.OAuth2Definition)2 Scope (io.swagger.annotations.Scope)2 SwaggerDefinition (io.swagger.annotations.SwaggerDefinition)2 ExternalDocs (io.swagger.models.ExternalDocs)2 Tag (io.swagger.models.Tag)2 AuthorizationScope (io.swagger.annotations.AuthorizationScope)1