Search in sources :

Example 21 with Header

use of io.swagger.v3.oas.models.headers.Header in project swagger-parser by swagger-api.

the class V2ConverterTest method testIssue30.

@Test(description = "Convert collectionFormat #1 - path, query, header parameters")
public void testIssue30() throws Exception {
    OpenAPI oas = getConvertedOpenAPIFromJsonFile(ISSUE_30_JSON);
    assertNotNull(oas);
}
Also used : OpenAPI(io.swagger.v3.oas.models.OpenAPI) Test(org.testng.annotations.Test)

Example 22 with Header

use of io.swagger.v3.oas.models.headers.Header in project swagger-parser by swagger-api.

the class ExternalRefProcessor method processRefHeader.

private void processRefHeader(Header subRef, String externalFile) {
    RefFormat format = computeRefFormat(subRef.get$ref());
    if (!isAnExternalRefFormat(format)) {
        subRef.set$ref(RefType.SCHEMAS.getInternalPrefix() + processRefToExternalSchema(externalFile + subRef.get$ref(), RefFormat.RELATIVE));
        return;
    }
    String $ref = subRef.get$ref();
    String subRefExternalPath = getExternalPath(subRef.get$ref()).orElse(null);
    if (format.equals(RefFormat.RELATIVE) && !Objects.equals(subRefExternalPath, externalFile)) {
        $ref = join(externalFile, subRef.get$ref());
        subRef.set$ref($ref);
    } else {
        processRefToExternalHeader($ref, format);
    }
}
Also used : RefUtils.computeRefFormat(io.swagger.v3.parser.util.RefUtils.computeRefFormat) RefUtils.isAnExternalRefFormat(io.swagger.v3.parser.util.RefUtils.isAnExternalRefFormat) RefFormat(io.swagger.v3.parser.models.RefFormat)

Example 23 with Header

use of io.swagger.v3.oas.models.headers.Header in project swagger-parser by swagger-api.

the class LinkProcessor method processLink.

public void processLink(Link link) {
    if (link.get$ref() != null) {
        RefFormat refFormat = computeRefFormat(link.get$ref());
        String $ref = link.get$ref();
        if (isAnExternalRefFormat(refFormat)) {
            final String newRef = externalRefProcessor.processRefToExternalLink($ref, refFormat);
            if (newRef != null) {
                link.set$ref(newRef);
            }
        }
    } else if (link.getHeaders() != null) {
        Map<String, Header> headers = link.getHeaders();
        for (String headerName : headers.keySet()) {
            Header header = headers.get(headerName);
            headerProcessor.processHeader(header);
        }
    }
}
Also used : Header(io.swagger.v3.oas.models.headers.Header) RefFormat(io.swagger.v3.parser.models.RefFormat) RefUtils.isAnExternalRefFormat(io.swagger.v3.parser.util.RefUtils.isAnExternalRefFormat) RefUtils.computeRefFormat(io.swagger.v3.parser.util.RefUtils.computeRefFormat) Map(java.util.Map)

Example 24 with Header

use of io.swagger.v3.oas.models.headers.Header in project swagger-parser by swagger-api.

the class ResponseProcessor method processResponse.

public void processResponse(ApiResponse response) {
    if (response.get$ref() != null) {
        processReferenceResponse(response);
    }
    Schema schema = null;
    if (response.getContent() != null) {
        Map<String, MediaType> content = response.getContent();
        for (String mediaName : content.keySet()) {
            MediaType mediaType = content.get(mediaName);
            if (mediaType.getSchema() != null) {
                schema = mediaType.getSchema();
                if (schema != null) {
                    schemaProcessor.processSchema(schema);
                }
            }
            if (mediaType.getExamples() != null) {
                for (Example ex : mediaType.getExamples().values()) {
                    exampleProcessor.processExample(ex);
                }
            }
        }
    }
    if (response.getHeaders() != null) {
        Map<String, Header> headers = response.getHeaders();
        for (String headerName : headers.keySet()) {
            Header header = headers.get(headerName);
            headerProcessor.processHeader(header);
        }
    }
    if (response.getLinks() != null) {
        Map<String, Link> links = response.getLinks();
        for (String linkName : links.keySet()) {
            Link link = links.get(linkName);
            linkProcessor.processLink(link);
        }
    }
}
Also used : Header(io.swagger.v3.oas.models.headers.Header) Schema(io.swagger.v3.oas.models.media.Schema) Example(io.swagger.v3.oas.models.examples.Example) MediaType(io.swagger.v3.oas.models.media.MediaType) Link(io.swagger.v3.oas.models.links.Link)

Example 25 with Header

use of io.swagger.v3.oas.models.headers.Header in project swagger-parser by swagger-api.

the class V2ConverterTest method testIssue10.

@Test(description = "Response Headers")
public void testIssue10() throws Exception {
    OpenAPI oas = getConvertedOpenAPIFromJsonFile(PET_STORE_JSON);
    Map<String, Header> headers = oas.getPaths().get(USER_LOGIN_PATH).getGet().getResponses().get("200").getHeaders();
    assertEquals(X_RATE_LIMIT_DESCRIPTION, headers.get(X_RATE_LIMIT).getDescription());
    assertEquals(X_EXPIRES_AFTER_DESCRIPTION, headers.get(X_EXPIRES_AFTER).getDescription());
}
Also used : Header(io.swagger.v3.oas.models.headers.Header) OpenAPI(io.swagger.v3.oas.models.OpenAPI) Test(org.testng.annotations.Test)

Aggregations

Test (org.testng.annotations.Test)32 OpenAPI (io.swagger.v3.oas.models.OpenAPI)26 Header (io.swagger.v3.oas.models.headers.Header)25 Parameter (io.swagger.v3.oas.models.parameters.Parameter)16 ApiResponse (io.swagger.v3.oas.models.responses.ApiResponse)13 OpenAPIV3Parser (io.swagger.v3.parser.OpenAPIV3Parser)11 ParseOptions (io.swagger.v3.parser.core.models.ParseOptions)11 Schema (io.swagger.v3.oas.models.media.Schema)10 SwaggerParseResult (io.swagger.v3.parser.core.models.SwaggerParseResult)10 MediaType (io.swagger.v3.oas.models.media.MediaType)8 QueryParameter (io.swagger.v3.oas.models.parameters.QueryParameter)8 Components (io.swagger.v3.oas.models.Components)7 JsonNode (com.fasterxml.jackson.databind.JsonNode)6 StringSchema (io.swagger.v3.oas.models.media.StringSchema)6 AuthorizationValue (io.swagger.v3.parser.core.models.AuthorizationValue)6 PathItem (io.swagger.v3.oas.models.PathItem)5 Example (io.swagger.v3.oas.models.examples.Example)5 ArraySchema (io.swagger.v3.oas.models.media.ArraySchema)5 PathParameter (io.swagger.v3.oas.models.parameters.PathParameter)5 RefFormat (io.swagger.v3.parser.models.RefFormat)5