Search in sources :

Example 41 with Header

use of io.swagger.v3.oas.annotations.headers.Header in project openremote by openremote.

the class ManagerWebService method init.

@Override
public void init(Container container) throws Exception {
    super.init(container);
    String rootRedirectPath = getString(container.getConfig(), ROOT_REDIRECT_PATH, ROOT_REDIRECT_PATH_DEFAULT);
    // Modify swagger object mapper to match ours
    configureObjectMapper(Json.mapper());
    Json.mapper().addMixIn(ServerVariable.class, ServerVariableMixin.class);
    // Add swagger resource
    OpenAPI oas = new OpenAPI().servers(Collections.singletonList(new Server().url("/api/{realm}/").variables(new ServerVariables().addServerVariable("realm", new ServerVariable()._default("master"))))).schemaRequirement("openid", new SecurityScheme().type(SecurityScheme.Type.OAUTH2).flows(new OAuthFlows().authorizationCode(new OAuthFlow().authorizationUrl("/auth/realms/master/protocol/openid-connect/auth").refreshUrl("/auth/realms/master/protocol/openid-connect/token").tokenUrl("/auth/realms/master/protocol/openid-connect/token")))).security(Collections.singletonList(new SecurityRequirement().addList("openid")));
    Info info = new Info().title("OpenRemote Manager REST API").description("This is the documentation for the OpenRemote Manager HTTP REST API.  Please see the [wiki](https://github.com/openremote/openremote/wiki) for more info.").contact(new Contact().email("info@openremote.io")).license(new License().name("AGPL 3.0").url("https://www.gnu.org/licenses/agpl-3.0.en.html"));
    oas.info(info);
    SwaggerConfiguration oasConfig = new SwaggerConfiguration().resourcePackages(Stream.of("org.openremote.model.*").collect(Collectors.toSet())).openAPI(oas);
    OpenApiResource openApiResource = new OpenApiResource();
    openApiResource.openApiConfiguration(oasConfig);
    addApiSingleton(openApiResource);
    initialised = true;
    ResteasyDeployment resteasyDeployment = createResteasyDeployment(container, getApiClasses(), apiSingletons, true);
    // Serve REST API
    HttpHandler apiHandler = createApiHandler(container, resteasyDeployment);
    if (apiHandler != null) {
        // Authenticating requests requires a realm, either we receive this in a header or
        // we extract it (e.g. from request path segment) and set it as a header before
        // processing the request
        HttpHandler baseApiHandler = apiHandler;
        apiHandler = exchange -> {
            String path = exchange.getRelativePath().substring(API_PATH.length());
            Matcher realmSubMatcher = PATTERN_REALM_SUB.matcher(path);
            if (!realmSubMatcher.matches()) {
                exchange.setStatusCode(NOT_FOUND.getStatusCode());
                throw new WebApplicationException(NOT_FOUND);
            }
            // Extract realm from path and push it into REQUEST_HEADER_REALM header
            String realm = realmSubMatcher.group(1);
            // Move the realm from path segment to header
            exchange.getRequestHeaders().put(HttpString.tryFromString(REALM_PARAM_NAME), realm);
            URI url = fromUri(exchange.getRequestURL()).replacePath(realmSubMatcher.group(2)).build();
            exchange.setRequestURI(url.toString(), true);
            exchange.setRequestPath(url.getPath());
            exchange.setRelativePath(url.getPath());
            baseApiHandler.handleRequest(exchange);
        };
    }
    // Serve deployment files unsecured (explicitly map deployment folders to request paths)
    builtInAppDocRoot = Paths.get(getString(container.getConfig(), APP_DOCROOT, APP_DOCROOT_DEFAULT));
    customAppDocRoot = Paths.get(getString(container.getConfig(), CUSTOM_APP_DOCROOT, CUSTOM_APP_DOCROOT_DEFAULT));
    HttpHandler defaultHandler = null;
    if (Files.isDirectory(customAppDocRoot)) {
        HttpHandler customBaseFileHandler = createFileHandler(container, customAppDocRoot, null);
        defaultHandler = exchange -> {
            if (exchange.getRelativePath().isEmpty() || "/".equals(exchange.getRelativePath())) {
                exchange.setRelativePath("/index.html");
            }
            customBaseFileHandler.handleRequest(exchange);
        };
    }
    PathHandler deploymentHandler = defaultHandler != null ? new PathHandler(defaultHandler) : new PathHandler();
    // Serve deployment files
    if (Files.isDirectory(builtInAppDocRoot)) {
        HttpHandler appBaseFileHandler = createFileHandler(container, builtInAppDocRoot, null);
        HttpHandler appFileHandler = exchange -> {
            if (exchange.getRelativePath().isEmpty() || "/".equals(exchange.getRelativePath())) {
                exchange.setRelativePath("/index.html");
            }
            // Reinstate the full path
            exchange.setRelativePath(exchange.getRequestPath());
            appBaseFileHandler.handleRequest(exchange);
        };
        deploymentHandler.addPrefixPath(MANAGER_APP_PATH, appFileHandler);
        deploymentHandler.addPrefixPath(SWAGGER_APP_PATH, appFileHandler);
        deploymentHandler.addPrefixPath(CONSOLE_LOADER_APP_PATH, appFileHandler);
        deploymentHandler.addPrefixPath(SHARED_PATH, appFileHandler);
    }
    // Redirect / to default app
    if (rootRedirectPath != null) {
        getRequestHandlers().add(new RequestHandler("Default app redirect", exchange -> exchange.getRequestPath().equals("/"), exchange -> {
            LOG.finer("Handling root request, redirecting client to default app");
            new RedirectHandler(redirect(exchange, rootRedirectPath)).handleRequest(exchange);
        }));
    }
    if (apiHandler != null) {
        getRequestHandlers().add(pathStartsWithHandler("REST API Handler", API_PATH, apiHandler));
    }
    // This will try and handle any request that makes it to this handler
    getRequestHandlers().add(new RequestHandler("Deployment files", exchange -> true, deploymentHandler));
}
Also used : JsonProperty(com.fasterxml.jackson.annotation.JsonProperty) Json(io.swagger.v3.core.util.Json) CanonicalPathHandler(io.undertow.server.handlers.CanonicalPathHandler) WebService(org.openremote.container.web.WebService) UriBuilder.fromUri(javax.ws.rs.core.UriBuilder.fromUri) ValueUtil.configureObjectMapper(org.openremote.model.util.ValueUtil.configureObjectMapper) OpenApiResource(io.swagger.v3.jaxrs2.integration.resources.OpenApiResource) ServletInfo(io.undertow.servlet.api.ServletInfo) MapAccess.getString(org.openremote.container.util.MapAccess.getString) HttpString(io.undertow.util.HttpString) RedirectHandler(io.undertow.server.handlers.RedirectHandler) Servlets(io.undertow.servlet.Servlets) HashSet(java.util.HashSet) License(io.swagger.v3.oas.models.info.License) PathHandler(io.undertow.server.handlers.PathHandler) Matcher(java.util.regex.Matcher) ResteasyDeployment(org.jboss.resteasy.spi.ResteasyDeployment) OpenAPI(io.swagger.v3.oas.models.OpenAPI) io.swagger.v3.oas.models.security(io.swagger.v3.oas.models.security) ServerVariables(io.swagger.v3.oas.models.servers.ServerVariables) URI(java.net.URI) Path(java.nio.file.Path) REALM_PARAM_NAME(org.openremote.model.Constants.REALM_PARAM_NAME) Files(java.nio.file.Files) Collection(java.util.Collection) NOT_FOUND(javax.ws.rs.core.Response.Status.NOT_FOUND) Info(io.swagger.v3.oas.models.info.Info) Logger(java.util.logging.Logger) Collectors(java.util.stream.Collectors) SwaggerConfiguration(io.swagger.v3.oas.integration.SwaggerConfiguration) HttpServlet30Dispatcher(org.jboss.resteasy.plugins.server.servlet.HttpServlet30Dispatcher) HttpHandler(io.undertow.server.HttpHandler) Container(org.openremote.model.Container) IdentityService(org.openremote.container.security.IdentityService) Server(io.swagger.v3.oas.models.servers.Server) Stream(java.util.stream.Stream) Contact(io.swagger.v3.oas.models.info.Contact) Paths(java.nio.file.Paths) ServerVariable(io.swagger.v3.oas.models.servers.ServerVariable) WebApplicationException(javax.ws.rs.WebApplicationException) DeploymentInfo(io.undertow.servlet.api.DeploymentInfo) Pattern(java.util.regex.Pattern) Collections(java.util.Collections) RedirectBuilder.redirect(io.undertow.util.RedirectBuilder.redirect) ServerVariables(io.swagger.v3.oas.models.servers.ServerVariables) HttpHandler(io.undertow.server.HttpHandler) Server(io.swagger.v3.oas.models.servers.Server) WebApplicationException(javax.ws.rs.WebApplicationException) Matcher(java.util.regex.Matcher) RedirectHandler(io.undertow.server.handlers.RedirectHandler) License(io.swagger.v3.oas.models.info.License) CanonicalPathHandler(io.undertow.server.handlers.CanonicalPathHandler) PathHandler(io.undertow.server.handlers.PathHandler) MapAccess.getString(org.openremote.container.util.MapAccess.getString) HttpString(io.undertow.util.HttpString) ServletInfo(io.undertow.servlet.api.ServletInfo) Info(io.swagger.v3.oas.models.info.Info) DeploymentInfo(io.undertow.servlet.api.DeploymentInfo) ServerVariable(io.swagger.v3.oas.models.servers.ServerVariable) URI(java.net.URI) SwaggerConfiguration(io.swagger.v3.oas.integration.SwaggerConfiguration) Contact(io.swagger.v3.oas.models.info.Contact) OpenApiResource(io.swagger.v3.jaxrs2.integration.resources.OpenApiResource) ResteasyDeployment(org.jboss.resteasy.spi.ResteasyDeployment) OpenAPI(io.swagger.v3.oas.models.OpenAPI)

Example 42 with Header

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

the class OpenAPIDeserializerTest method testExampleVsExamples.

@Test
public void testExampleVsExamples() {
    String json = "{" + "\"openapi\": \"3.0.0\"," + "\"info\": {\"title\": \"Examples\", \"version\": \"0.0.0\"}," + "\"paths\": {}," + "\"components\": {" + "  \"parameters\": {" + "    \"withExample\": {" + "      \"name\": \"withExample\"," + "      \"in\": \"query\"," + "      \"schema\": {\"type\": \"string\"}," + "      \"example\": \"Hello\"}," + "    \"withExamples\": {" + "      \"name\": \"withExamples\"," + "      \"in\": \"query\"," + "      \"schema\": {\"type\": \"string\"}," + "      \"examples\": {\"Texan\": {\"value\": \"Howdy\"}}}," + "    \"withBoth\": {" + "      \"name\": \"withBoth\"," + "      \"in\": \"query\"," + "      \"schema\": {\"type\": \"string\"}," + "      \"examples\": {\"Texan\": {\"value\": \"Howdy\"}}," + "      \"example\": \"Hello\"}," + "    \"withContentExample\": {" + "      \"name\": \"withContentExample\"," + "      \"in\": \"query\"," + "      \"content\": {" + "        \"application/json\": {" + "          \"schema\": {\"type\": \"string\"}," + "          \"example\": \"Hello\"}}}," + "    \"withContentExamples\": {" + "      \"name\": \"withContentExamples\"," + "      \"in\": \"query\"," + "      \"content\": {" + "        \"application/json\": {" + "          \"schema\": {\"type\": \"string\"}," + "          \"examples\": {\"Texan\": {\"value\": \"Howdy\"}}}}}," + "    \"withContentBoth\": {" + "      \"name\": \"withContentBoth\"," + "      \"in\": \"query\"," + "      \"content\": {" + "        \"application/json\": {" + "          \"schema\": {\"type\": \"string\"}," + "          \"example\": \"Hello\"," + "          \"examples\": {\"Texan\": {\"value\": \"Howdy\"}}}}}}," + "  \"headers\": {" + "    \"withExample\": {" + "      \"schema\": {\"type\": \"string\"}," + "      \"example\": \"Hello\"}," + "    \"withExamples\": {" + "      \"schema\": {\"type\": \"string\"}," + "      \"examples\": {\"Texan\": {\"value\": \"Howdy\"}}}," + "    \"withBoth\": {" + "      \"schema\": {\"type\": \"string\"}," + "      \"examples\": {\"Texan\": {\"value\": \"Howdy\"}}," + "      \"example\": \"Hello\"}}," + "  \"requestBodies\": {" + "    \"withBodyExample\": {" + "      \"content\": {" + "        \"application/json\": {" + "          \"schema\": {\"type\": \"string\"}," + "          \"example\": \"Hello\"}}}," + "    \"withBodyExamples\": {" + "      \"content\": {" + "        \"application/json\": {" + "          \"schema\": {\"type\": \"string\"}," + "          \"examples\": {\"Texan\": {\"value\": \"Howdy\"}}}}}," + "    \"withBodyBoth\": {" + "      \"content\": {" + "        \"application/json\": {" + "          \"schema\": {\"type\": \"string\"}," + "          \"example\": \"Hello\"," + "          \"examples\": {\"Texan\": {\"value\": \"Howdy\"}}}}}}}}";
    OpenAPIV3Parser parser = new OpenAPIV3Parser();
    SwaggerParseResult result = parser.readContents(json, null, null);
    assertEqualsNoOrder(result.getMessages().toArray(), new Object[] { "attribute components.parameters.withBoth.[withBoth].examples already defined -- ignoring \"example\" field", "attribute components.parameters.withContentBoth.[withContentBoth].content.'application/json'.examples already defined -- ignoring \"example\" field", "attribute components.requestBodies.withBodyBoth.content.'application/json'.examples already defined -- ignoring \"example\" field", "attribute components.headers.withBoth.examples already defined -- ignoring \"example\" field" }, "Expected warnings not found");
    OpenAPI openAPI = result.getOpenAPI();
    Parameter param;
    param = openAPI.getComponents().getParameters().get("withExample");
    assertNull(param.getExamples(), "Examples,");
    assertNotNull(param.getExample(), "Example,");
    param = openAPI.getComponents().getParameters().get("withExamples");
    assertNotNull(param.getExamples(), "Examples,");
    assertNull(param.getExample(), "Example,");
    param = openAPI.getComponents().getParameters().get("withBoth");
    assertNotNull(param.getExamples(), "Examples,");
    assertNull(param.getExample(), "Example,");
    Header header;
    header = openAPI.getComponents().getHeaders().get("withExample");
    assertNull(header.getExamples(), "Examples,");
    assertNotNull(header.getExample(), "Example,");
    header = openAPI.getComponents().getHeaders().get("withExamples");
    assertNotNull(header.getExamples(), "Examples,");
    assertNull(header.getExample(), "Example,");
    header = openAPI.getComponents().getHeaders().get("withBoth");
    assertNotNull(header.getExamples(), "Examples,");
    assertNull(header.getExample(), "Example,");
    MediaType mediaType;
    mediaType = openAPI.getComponents().getParameters().get("withContentExample").getContent().get("application/json");
    assertNull(mediaType.getExamples(), "Examples,");
    assertNotNull(mediaType.getExample(), "Example,");
    mediaType = openAPI.getComponents().getParameters().get("withContentExamples").getContent().get("application/json");
    assertNotNull(mediaType.getExamples(), "Examples,");
    assertNull(mediaType.getExample(), "Example,");
    mediaType = openAPI.getComponents().getParameters().get("withContentBoth").getContent().get("application/json");
    assertNotNull(mediaType.getExamples(), "Examples,");
    assertNull(mediaType.getExample(), "Example,");
    mediaType = openAPI.getComponents().getRequestBodies().get("withBodyExample").getContent().get("application/json");
    assertNull(mediaType.getExamples(), "Examples,");
    assertNotNull(mediaType.getExample(), "Example,");
    mediaType = openAPI.getComponents().getRequestBodies().get("withBodyExamples").getContent().get("application/json");
    assertNotNull(mediaType.getExamples(), "Examples,");
    assertNull(mediaType.getExample(), "Example,");
    mediaType = openAPI.getComponents().getRequestBodies().get("withBodyBoth").getContent().get("application/json");
    assertNotNull(mediaType.getExamples(), "Examples,");
    assertNull(mediaType.getExample(), "Example,");
}
Also used : Header(io.swagger.v3.oas.models.headers.Header) Parameter(io.swagger.v3.oas.models.parameters.Parameter) QueryParameter(io.swagger.v3.oas.models.parameters.QueryParameter) MediaType(io.swagger.v3.oas.models.media.MediaType) SwaggerParseResult(io.swagger.v3.parser.core.models.SwaggerParseResult) OpenAPIV3Parser(io.swagger.v3.parser.OpenAPIV3Parser) OpenAPI(io.swagger.v3.oas.models.OpenAPI) Test(org.testng.annotations.Test)

Example 43 with Header

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

the class OpenAPIDeserializerTest method testExamples.

@Test
public void testExamples(@Injectable List<AuthorizationValue> auths) {
    String yaml = "openapi: 3.0.1\n" + "info:\n" + "  title: httpbin\n" + "  version: 0.0.0\n" + "servers:\n" + "  - url: http://httpbin.org\n" + "paths:\n" + "  /post:\n" + "    post:\n" + "      summary: Returns the POSTed data\n" + "      requestBody:\n" + "        content:\n" + "          application/json:\n" + "            schema:\n" + "              $ref: '#/components/schemas/AnyValue'\n" + "            examples:\n" + "              AnObject:\n" + "                $ref: '#/components/examples/AnObject'\n" + "              ANull:\n" + "                $ref: '#/components/examples/ANull'\n" + "          application/yaml:\n" + "            schema:\n" + "              $ref: '#/components/schemas/AnyValue'\n" + "            examples:\n" + "              AString:\n" + "                $ref: '#/components/examples/AString'\n" + "              AnArray:\n" + "                $ref: '#/components/examples/AnArray'\n" + "          text/plain:\n" + "            schema:\n" + "              type: string\n" + "              example: Hi there\n" + "          application/x-www-form-urlencoded:\n" + "            schema:\n" + "              type: object\n" + "              properties:\n" + "                id:\n" + "                  type: integer\n" + "                name:\n" + "                  type: string\n" + "            example:\n" + "              id: 42\n" + "              name: Arthur Dent\n" + "      responses:\n" + "        '200':\n" + "          description: OK\n" + "          content:\n" + "            application/json:\n" + "              schema:\n" + "                type: object\n" + "\n" + "  #/response-headers:\n" + "  /:\n" + "    get:\n" + "      summary: Returns a response with the specified headers\n" + "      parameters:\n" + "        - in: header\n" + "          name: Server\n" + "          required: true\n" + "          schema:\n" + "            type: string\n" + "          examples:\n" + "            httpbin:\n" + "              value: httpbin\n" + "            unicorn:\n" + "              value: unicorn\n" + "        - in: header\n" + "          name: X-Request-Id\n" + "          required: true\n" + "          schema:\n" + "            type: integer\n" + "          example: 37\n" + "      responses:\n" + "        '200':\n" + "          description: A response with the specified headers\n" + "          headers:\n" + "            Server:\n" + "              schema:\n" + "                type: string\n" + "              examples:\n" + "                httpbin:\n" + "                  value: httpbin\n" + "                unicorn:\n" + "                  value: unicorn\n" + "            X-Request-Id:\n" + "              schema:\n" + "                type: integer\n" + "              example: 37\n" + "\n" + "components:\n" + "  schemas:\n" + "    AnyValue:\n" + "      nullable: true\n" + "      description: Can be anything - string, object, array, null, etc.\n" + "\n" + "  examples:\n" + "    AString:\n" + "      value: Hi there\n" + "    ANumber:\n" + "      value: 42\n" + "    ANull:\n" + "      value: null\n" + "    AnArray:\n" + "      value: [1, 2, 3]\n" + "    AnObject:\n" + "      value:\n" + "        id:  42\n" + "        name: Arthur Dent";
    OpenAPIV3Parser parser = new OpenAPIV3Parser();
    ParseOptions options = new ParseOptions();
    options.setResolve(true);
    SwaggerParseResult result = parser.readContents(yaml, auths, options);
    OpenAPI openAPI = result.getOpenAPI();
    MediaType mediaTypeJson = openAPI.getPaths().get("/post").getPost().getRequestBody().getContent().get("application/json");
    Header header1 = openAPI.getPaths().get("/").getGet().getResponses().get("200").getHeaders().get("Server");
    Header header2 = openAPI.getPaths().get("/").getGet().getResponses().get("200").getHeaders().get("X-Request-Id");
    Parameter parameter1 = openAPI.getPaths().get("/").getGet().getParameters().get(0);
    Parameter parameter2 = openAPI.getPaths().get("/").getGet().getParameters().get(1);
    Assert.assertNotNull(mediaTypeJson.getExamples());
    Assert.assertEquals(mediaTypeJson.getExamples().get("AnObject").get$ref(), "#/components/examples/AnObject");
    Assert.assertNotNull(header1.getExamples());
    Assert.assertEquals(header1.getExamples().get("httpbin").getValue(), "httpbin");
    Assert.assertNotNull(header2.getExample());
    Assert.assertEquals(header2.getExample(), 37);
    Assert.assertNotNull(parameter1.getExamples());
    Assert.assertEquals(parameter1.getExamples().get("unicorn").getValue(), "unicorn");
    Assert.assertNotNull(parameter2.getExample());
    Assert.assertEquals(parameter2.getExample(), 37);
}
Also used : Header(io.swagger.v3.oas.models.headers.Header) ParseOptions(io.swagger.v3.parser.core.models.ParseOptions) MediaType(io.swagger.v3.oas.models.media.MediaType) Parameter(io.swagger.v3.oas.models.parameters.Parameter) QueryParameter(io.swagger.v3.oas.models.parameters.QueryParameter) SwaggerParseResult(io.swagger.v3.parser.core.models.SwaggerParseResult) OpenAPIV3Parser(io.swagger.v3.parser.OpenAPIV3Parser) OpenAPI(io.swagger.v3.oas.models.OpenAPI) Test(org.testng.annotations.Test)

Example 44 with Header

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

the class RemoteUrlTest method testAuthorizationHeaderWithMatchingUrl.

@Test
public void testAuthorizationHeaderWithMatchingUrl() throws Exception {
    final String expectedBody = setupStub();
    final String headerName = "Authorization";
    final String headerValue = "foobar";
    final AuthorizationValue authorizationValue = new AuthorizationValue(headerName, headerValue, "header", url -> url.toString().startsWith("http://localhost"));
    final String actualBody = RemoteUrl.urlToString(getUrl(), Arrays.asList(authorizationValue));
    assertEquals(actualBody, expectedBody);
    verify(getRequestedFor(urlEqualTo("/v2/pet/1")).withHeader("Accept", equalTo(EXPECTED_ACCEPTS_HEADER)).withHeader(headerName, equalTo(headerValue)));
}
Also used : AuthorizationValue(io.swagger.v3.parser.core.models.AuthorizationValue) Test(org.testng.annotations.Test)

Example 45 with Header

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

the class OpenAPIParserTest method testIssue844.

@Test
public void testIssue844() {
    OpenAPIParser openApiParser = new OpenAPIParser();
    ParseOptions options = new ParseOptions();
    options.setResolve(true);
    OpenAPI openAPI = openApiParser.readLocation("reusableParametersWithExternalRef.json", null, options).getOpenAPI();
    assertNotNull(openAPI);
    assertEquals(openAPI.getPaths().get("/pets/{id}").getGet().getParameters().get(0).getIn(), "header");
}
Also used : ParseOptions(io.swagger.v3.parser.core.models.ParseOptions) OpenAPI(io.swagger.v3.oas.models.OpenAPI) Test(org.junit.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