Java Code Examples for io.swagger.v3.oas.models.media.Schema#setTitle()
The following examples show how to use
io.swagger.v3.oas.models.media.Schema#setTitle() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: SwaggerAnnotationUtils.java From servicecomb-toolkit with Apache License 2.0 | 6 votes |
public static Schema getSchemaFromAnnotation(io.swagger.v3.oas.annotations.media.Schema schema) { if (schema == null) { return null; } Schema schemaObj = new Schema(); schemaObj.setName(schema.name()); schemaObj.setDescription(schema.description()); schemaObj.setType(schema.type()); schemaObj.setTitle(schema.title()); schemaObj.setNullable(schema.nullable()); schemaObj.setDefault(schema.defaultValue()); schemaObj.setFormat(schema.format()); schemaObj.setDeprecated(schema.deprecated()); Map<String, Object> extensionsFromAnnotation = getExtensionsFromAnnotation(schema.extensions()); schemaObj.extensions(extensionsFromAnnotation); return schemaObj; }
Example 2
Source File: StaticHtmlGenerator.java From openapi-generator with Apache License 2.0 | 5 votes |
public void preprocessOpenAPI(OpenAPI openAPI) { Info info = openAPI.getInfo(); info.setDescription(toHtml(info.getDescription())); info.setTitle(toHtml(info.getTitle())); Map<String, Schema> models = ModelUtils.getSchemas(openAPI); for (Schema model : models.values()) { model.setDescription(toHtml(model.getDescription())); model.setTitle(toHtml(model.getTitle())); } }
Example 3
Source File: InlineModelResolverTest.java From swagger-parser with Apache License 2.0 | 5 votes |
@Test public void resolveInlineModelTestWithTitle() throws Exception { OpenAPI openAPI = new OpenAPI(); openAPI.setComponents(new Components()); Schema objectSchema = new ObjectSchema(); objectSchema.setTitle("UserAddressTitle"); objectSchema.setDefault("default"); objectSchema.setReadOnly(false); objectSchema.setDescription("description"); objectSchema.setName("name"); objectSchema.addProperties("street", new StringSchema()); objectSchema.addProperties("city", new StringSchema()); Schema schema = new Schema(); schema.setName("user"); schema.setDescription("a common user"); List<String> required = new ArrayList<>(); required.add("address"); schema.setRequired(required); schema.addProperties("name", new StringSchema()); schema.addProperties("address", objectSchema); openAPI.getComponents().addSchemas("User", schema); new InlineModelResolver().flatten(openAPI); Schema user = openAPI.getComponents().getSchemas().get("User"); assertNotNull(user); Schema address = (Schema)user.getProperties().get("address"); assertTrue( address.get$ref() != null); Schema userAddressTitle = openAPI.getComponents().getSchemas().get("UserAddressTitle"); assertNotNull(userAddressTitle); assertNotNull(userAddressTitle.getProperties().get("city")); assertNotNull(userAddressTitle.getProperties().get("street")); }
Example 4
Source File: InlineModelResolverTest.java From swagger-parser with Apache License 2.0 | 5 votes |
@Test public void resolveInlineArrayModelWithTitle() throws Exception { OpenAPI openAPI = new OpenAPI(); openAPI.setComponents(new Components()); Schema objectSchema = new ObjectSchema(); objectSchema.setTitle("InnerUserTitle"); objectSchema.setDefault("default"); objectSchema.setReadOnly(false); objectSchema.setDescription("description"); objectSchema.setName("name"); objectSchema.addProperties("street", new StringSchema()); objectSchema.addProperties("city", new StringSchema()); ArraySchema arraySchema = new ArraySchema(); List<String> required = new LinkedList<>(); required.add("name"); arraySchema.setRequired(required); arraySchema.setItems(objectSchema); openAPI.getComponents().addSchemas("User", arraySchema); new InlineModelResolver().flatten(openAPI); Schema model = openAPI.getComponents().getSchemas().get("User"); assertTrue(model instanceof ArraySchema); Schema user = openAPI.getComponents().getSchemas().get("InnerUserTitle"); assertNotNull(user); assertEquals("description", user.getDescription()); }
Example 5
Source File: InlineModelResolverTest.java From swagger-parser with Apache License 2.0 | 5 votes |
@Test public void testArbitraryObjectModelWithArrayInlineWithTitle() { OpenAPI openAPI = new OpenAPI(); openAPI.setComponents(new Components()); Schema items = new ObjectSchema(); items.setTitle("InnerUserTitle"); items.setDefault("default"); items.setReadOnly(false); items.setDescription("description"); items.setName("name"); items.addProperties("arbitrary", new ObjectSchema()); openAPI.getComponents().addSchemas("User", new ArraySchema().items(items).addRequiredItem("name")); new InlineModelResolver().flatten(openAPI); Schema model = openAPI.getComponents().getSchemas().get("User"); assertTrue(model instanceof ArraySchema); ArraySchema am = (ArraySchema) model; Schema inner = am.getItems(); assertTrue(inner.get$ref() != null); Schema userInner = openAPI.getComponents().getSchemas().get("InnerUserTitle"); assertNotNull(userInner); Schema inlineProp = (Schema) userInner.getProperties().get("arbitrary"); assertTrue(inlineProp instanceof ObjectSchema); ObjectSchema op = (ObjectSchema) inlineProp; assertNull(op.getProperties()); }
Example 6
Source File: CLibcurlClientCodegen.java From openapi-generator with Apache License 2.0 | 4 votes |
@Override public String toExampleValue(Schema schema) { String example = super.toExampleValue(schema); if (ModelUtils.isNullType(schema) && null != example) { // The 'null' type is allowed in OAS 3.1 and above. It is not supported by OAS 3.0.x, // though this tooling supports it. return "NULL"; } // correct "'"s into "'"s after toString() if (ModelUtils.isStringSchema(schema) && schema.getDefault() != null) { example = (String) schema.getDefault(); } if (StringUtils.isNotBlank(example) && !"null".equals(example)) { if (ModelUtils.isStringSchema(schema)) { example = "\"" + example + "\""; } return example; } if (schema.getEnum() != null && !schema.getEnum().isEmpty()) { // Enum case: example = schema.getEnum().get(0).toString(); /* if (ModelUtils.isStringSchema(schema)) { example = "'" + escapeText(example) + "'"; }*/ if (null == example) LOGGER.warn("Empty enum. Cannot built an example!"); return example; } else if (null != schema.get$ref()) { // $ref case: Map<String, Schema> allDefinitions = ModelUtils.getSchemas(this.openAPI); String ref = ModelUtils.getSimpleRef(schema.get$ref()); if (allDefinitions != null) { Schema refSchema = allDefinitions.get(ref); if (null == refSchema) { return "None"; } else { String refTitle = refSchema.getTitle(); if (StringUtils.isBlank(refTitle) || "null".equals(refTitle)) { refSchema.setTitle(ref); } return toExampleValue(refSchema); } } else { LOGGER.warn("allDefinitions not defined in toExampleValue!\n"); } } if (ModelUtils.isDateSchema(schema)) { example = "\"2013-10-20\""; return example; } else if (ModelUtils.isDateTimeSchema(schema)) { example = "\"2013-10-20T19:20:30+01:00\""; return example; } else if (ModelUtils.isBinarySchema(schema)) { example = "instantiate_binary_t(\"blah\", 5)"; return example; } else if (ModelUtils.isByteArraySchema(schema)) { example = "YQ=="; } else if (ModelUtils.isStringSchema(schema)) { // a BigDecimal: if ("Number".equalsIgnoreCase(schema.getFormat())) {return "1";} if (StringUtils.isNotBlank(schema.getPattern())) return "\"a\""; // I cheat here, since it would be too complicated to generate a string from a regexp int len = 0; if (null != schema.getMinLength()) len = schema.getMinLength().intValue(); if (len < 1) len = 1; example = ""; for (int i=0;i<len;i++) example += i; } else if (ModelUtils.isIntegerSchema(schema)) { if (schema.getMinimum() != null) example = schema.getMinimum().toString(); else example = "56"; } else if (ModelUtils.isNumberSchema(schema)) { if (schema.getMinimum() != null) example = schema.getMinimum().toString(); else example = "1.337"; } else if (ModelUtils.isBooleanSchema(schema)) { example = "1"; } else if (ModelUtils.isArraySchema(schema)) { example = "list_create()"; } else if (ModelUtils.isMapSchema(schema)) { example = "list_create()"; } else if (ModelUtils.isObjectSchema(schema)) { return null; // models are managed at moustache level } else { LOGGER.warn("Type " + schema.getType() + " not handled properly in toExampleValue"); } if (ModelUtils.isStringSchema(schema)) { example = "\"" + escapeText(example) + "\""; } return example; }
Example 7
Source File: OASMergeUtil.java From crnk-framework with Apache License 2.0 | 4 votes |
public static Schema mergeSchema(Schema thisSchema, Schema thatSchema) { if (thatSchema == null) { return thisSchema; } // Overwriting `implementation` is explicitly disallowed // Overwriting `not` is explicitly disallowed // Overwriting `oneOf` is explicitly disallowed // Overwriting `anyOf` is explicitly disallowed // Overwriting `allOf` is explicitly disallowed // Overwriting `name` is explicitly disallowed if (thatSchema.getTitle() != null) { thisSchema.setTitle(thatSchema.getTitle()); } // Overwriting `multipleOf` is explicitly disallowed if (thatSchema.getMaximum() != null) { thisSchema.setMaximum(thatSchema.getMaximum()); } if (thatSchema.getExclusiveMaximum() != null) { thisSchema.setExclusiveMaximum(thatSchema.getExclusiveMaximum()); } if (thatSchema.getMinimum() != null) { thisSchema.setMinimum(thatSchema.getMinimum()); } if (thatSchema.getExclusiveMinimum() != null) { thisSchema.setExclusiveMinimum(thatSchema.getExclusiveMinimum()); } if (thatSchema.getMaxLength() != null) { thisSchema.setMaxLength(thatSchema.getMaxLength()); } if (thatSchema.getMinLength() != null) { thisSchema.setMinLength(thatSchema.getMinLength()); } if (thatSchema.getPattern() != null) { thisSchema.setPattern(thatSchema.getPattern()); } if (thatSchema.getMaxProperties() != null) { thisSchema.setMaxProperties(thatSchema.getMaxProperties()); } if (thatSchema.getMinProperties() != null) { thisSchema.setMinProperties(thatSchema.getMinProperties()); } // RequiredProperties if (thatSchema.getRequired() != null) { thisSchema.setRequired(thatSchema.getRequired()); } // Overwriting `name` is explicitly disallowed if (thatSchema.getDescription() != null) { thisSchema.setDescription(thatSchema.getDescription()); } if (thatSchema.getFormat() != null) { thisSchema.setFormat(thatSchema.getFormat()); } // Overwriting `ref` is explicitly disallowed if (thatSchema.getNullable() != null) { thisSchema.setNullable(thatSchema.getNullable()); } // Overwriting `AccessMode` is explicitly disallowed if (thatSchema.getExample() != null) { thisSchema.setExample(thatSchema.getExample()); } if (thatSchema.getExternalDocs() != null) { thisSchema.setExternalDocs(thatSchema.getExternalDocs()); } if (thatSchema.getDeprecated() != null) { thisSchema.setDeprecated(thatSchema.getDeprecated()); } if (thatSchema.getType() != null) { thisSchema.setType(thatSchema.getType()); } if (thatSchema.getEnum() != null) { thisSchema.setEnum(thatSchema.getEnum()); } if (thatSchema.getDefault() != null) { thisSchema.setDefault(thatSchema.getDefault()); } // Overwriting `discriminator` is explicitly disallowed // Overwriting `hidden` is explicitly disallowed // Overwriting `subTypes` is explicitly disallowed if (thatSchema.getExtensions() != null) { thisSchema.setExtensions(thatSchema.getExtensions()); } return thisSchema; }
Example 8
Source File: InlineModelResolverTest.java From swagger-parser with Apache License 2.0 | 4 votes |
@Test public void resolveInlineModel2EqualInnerModels() throws Exception { OpenAPI openAPI = new OpenAPI(); openAPI.setComponents(new Components()); Schema objectSchema = new ObjectSchema(); objectSchema.setTitle("UserAddressTitle"); objectSchema.setDefault("default"); objectSchema.setReadOnly(false); objectSchema.setDescription("description"); objectSchema.setName("name"); objectSchema.addProperties("street", new StringSchema()); objectSchema.addProperties("city", new StringSchema()); Schema schema = new Schema(); schema.setName("user"); schema.setDescription("a common user"); List<String> required = new ArrayList<>(); required.add("address"); schema.setRequired(required); schema.addProperties("name", new StringSchema()); schema.addProperties("address", objectSchema); openAPI.getComponents().addSchemas("User", schema); Schema addressSchema = new ObjectSchema(); addressSchema.setTitle("UserAddressTitle"); addressSchema.setDefault("default"); addressSchema.setReadOnly(false); addressSchema.setDescription("description"); addressSchema.setName("name"); addressSchema.addProperties("street", new StringSchema()); addressSchema.addProperties("city", new StringSchema()); Schema anotherSchema = new Schema(); anotherSchema.setName("user"); anotherSchema.setDescription("a common user"); List<String> requiredFields = new ArrayList<>(); requiredFields.add("address"); anotherSchema.setRequired(requiredFields); anotherSchema.addProperties("name", new StringSchema()); anotherSchema.addProperties("lastName", new StringSchema()); anotherSchema.addProperties("address", addressSchema); openAPI.getComponents().addSchemas("AnotherUser", anotherSchema); new InlineModelResolver().flatten(openAPI); Schema user = openAPI.getComponents().getSchemas().get("User"); assertNotNull(user); Schema addressSchema1 = (Schema) user.getProperties().get("address"); assertTrue(addressSchema1.get$ref() != null); Schema address = openAPI.getComponents().getSchemas().get("UserAddressTitle"); assertNotNull(address); assertNotNull(address.getProperties().get("city")); assertNotNull(address.getProperties().get("street")); Schema duplicateAddress = openAPI.getComponents().getSchemas().get("UserAddressTitle_0"); assertNull(duplicateAddress); }
Example 9
Source File: InlineModelResolverTest.java From swagger-parser with Apache License 2.0 | 4 votes |
@Test public void resolveInlineModel2DifferentInnerModelsWIthSameTitle() throws Exception { OpenAPI openAPI = new OpenAPI(); openAPI.setComponents(new Components()); Schema objectSchema = new ObjectSchema(); objectSchema.setTitle("UserAddressTitle"); objectSchema.setDefault("default"); objectSchema.setReadOnly(false); objectSchema.setDescription("description"); objectSchema.setName("name"); objectSchema.addProperties("street", new StringSchema()); objectSchema.addProperties("city", new StringSchema()); Schema schema = new Schema(); schema.setName("user"); schema.setDescription("a common user"); List<String> required = new ArrayList<>(); required.add("address"); schema.setRequired(required); schema.addProperties("name", new StringSchema()); schema.addProperties("address", objectSchema); openAPI.getComponents().addSchemas("User", schema); Schema addressSchema = new ObjectSchema(); addressSchema.setTitle("UserAddressTitle"); addressSchema.setDefault("default"); addressSchema.setReadOnly(false); addressSchema.setDescription("description"); addressSchema.setName("name"); addressSchema.addProperties("street", new StringSchema()); addressSchema.addProperties("city", new StringSchema()); addressSchema.addProperties("apartment", new StringSchema()); Schema anotherSchema = new Schema(); anotherSchema.setName("AnotherUser"); anotherSchema.setDescription("a common user"); List<String> requiredFields = new ArrayList<>(); requiredFields.add("address"); anotherSchema.setRequired(requiredFields); anotherSchema.addProperties("name", new StringSchema()); anotherSchema.addProperties("lastName", new StringSchema()); anotherSchema.addProperties("address", addressSchema); openAPI.getComponents().addSchemas("AnotherUser", anotherSchema); new InlineModelResolver().flatten(openAPI); Schema user = openAPI.getComponents().getSchemas().get("User"); assertNotNull(user); Schema userAddress = (Schema) user.getProperties().get("address"); assertTrue( userAddress.get$ref()!= null); Schema address = openAPI.getComponents().getSchemas().get("UserAddressTitle"); assertNotNull(address); assertNotNull(address.getProperties().get("city")); assertNotNull(address.getProperties().get("street")); Schema duplicateAddress = openAPI.getComponents().getSchemas().get("UserAddressTitle_1"); assertNotNull(duplicateAddress); assertNotNull(duplicateAddress.getProperties().get("city")); assertNotNull(duplicateAddress.getProperties().get("street")); assertNotNull(duplicateAddress.getProperties().get("apartment")); }
Example 10
Source File: InlineModelResolverTest.java From swagger-parser with Apache License 2.0 | 4 votes |
@Test public void testSkipInlineMatchesFalse() { final OpenAPI openAPI = new OpenAPI(); final InlineModelResolver inlineModelResolver = new InlineModelResolver(); final Schema operationAlphaInAsset = new ObjectSchema(); operationAlphaInAsset.setTitle("operationAlphaInAsset"); operationAlphaInAsset.addProperties("id1", new IntegerSchema()); operationAlphaInAsset.addProperties("id2", new IntegerSchema()); final Schema operationAlphaIn = new ObjectSchema(); operationAlphaIn.setTitle("operationAlphaIn"); operationAlphaIn.addProperties("asset", operationAlphaInAsset); final Schema operationAlphaRequest = new ObjectSchema(); operationAlphaRequest.setTitle("operationAlphaRequest"); operationAlphaRequest.addProperties("in", operationAlphaIn); final Schema operationBetaInAsset = new ObjectSchema(); operationBetaInAsset.setTitle("operationBetaInAsset"); operationBetaInAsset.addProperties("id1", new IntegerSchema()); operationBetaInAsset.addProperties("id2", new IntegerSchema()); final Schema operationBetaIn = new ObjectSchema(); operationBetaIn.setTitle("operationBetaIn"); operationBetaIn.addProperties("asset", operationBetaInAsset); final Schema operationBetaRequest = new ObjectSchema(); operationBetaRequest.setTitle("operationBetaRequest"); operationBetaRequest.addProperties("in", operationBetaIn); openAPI.path("/operationAlpha", new PathItem() .get(new Operation() .requestBody(new RequestBody() .content(new Content().addMediaType("*/*", new MediaType() .schema(operationAlphaRequest)))))); openAPI.path("/operationBeta", new PathItem() .get(new Operation() .requestBody(new RequestBody() .content(new Content().addMediaType("*/*", new MediaType() .schema(operationBetaRequest)))))); inlineModelResolver.flatten(openAPI); assertNotNull(openAPI); assertNotNull(openAPI.getComponents()); assertNotNull(openAPI.getComponents().getSchemas()); assertEquals(4, openAPI.getComponents().getSchemas().size()); }
Example 11
Source File: InlineModelResolverTest.java From swagger-parser with Apache License 2.0 | 4 votes |
@Test public void testSkipInlineMatchesTrue() { final OpenAPI openAPI = new OpenAPI(); final InlineModelResolver inlineModelResolver = new InlineModelResolver(false, false, true); final Schema operationAlphaInAsset = new ObjectSchema(); operationAlphaInAsset.setTitle("operationAlphaInAsset"); operationAlphaInAsset.addProperties("id1", new IntegerSchema()); operationAlphaInAsset.addProperties("id2", new IntegerSchema()); final Schema operationAlphaIn = new ObjectSchema(); operationAlphaIn.setTitle("operationAlphaIn"); operationAlphaIn.addProperties("asset", operationAlphaInAsset); final Schema operationAlphaRequest = new ObjectSchema(); operationAlphaRequest.setTitle("operationAlphaRequest"); operationAlphaRequest.addProperties("in", operationAlphaIn); final Schema operationBetaInAsset = new ObjectSchema(); operationBetaInAsset.setTitle("operationBetaInAsset"); operationBetaInAsset.addProperties("id1", new IntegerSchema()); operationBetaInAsset.addProperties("id2", new IntegerSchema()); final Schema operationBetaIn = new ObjectSchema(); operationBetaIn.setTitle("operationBetaIn"); operationBetaIn.addProperties("asset", operationBetaInAsset); final Schema operationBetaRequest = new ObjectSchema(); operationBetaRequest.setTitle("operationBetaRequest"); operationBetaRequest.addProperties("in", operationBetaIn); openAPI.path("/operationAlpha", new PathItem() .get(new Operation() .requestBody(new RequestBody() .content(new Content().addMediaType("*/*", new MediaType() .schema(operationAlphaRequest)))))); openAPI.path("/operationBeta", new PathItem() .get(new Operation() .requestBody(new RequestBody() .content(new Content().addMediaType("*/*", new MediaType() .schema(operationBetaRequest)))))); inlineModelResolver.flatten(openAPI); assertNotNull(openAPI); assertNotNull(openAPI.getComponents()); assertNotNull(openAPI.getComponents().getSchemas()); assertEquals(6, openAPI.getComponents().getSchemas().size()); }