/** * Build a {@link Model} Swagger object defined by {@link ApiModel} to use for * documentation. The model is described by the {@code clazz} object and contains * fields, of which only the ones annotated with {@link ApiModelProperty} are * going to appear in the documentation. * * @param clazz The class defining the model. * @return The {@link Model} object to be used in {@link Swagger} */ public static Model model(Class<?> clazz) { ApiModel annotation = clazz.getAnnotation(ApiModel.class); ModelImpl model = new ModelImpl() .name(annotation.value()) .description(annotation.description()); Arrays.asList(clazz.getFields()) .stream() .filter(field -> field.isAnnotationPresent(ApiModelProperty.class)) .forEach(field -> { model.property(field.getName(), property(field)); }); return model; }
model.name(name);
protected ModelImpl generateEntityModel(MetaClass entityClass) { Map<String, Property> properties = new LinkedHashMap<>(); properties.put(ENTITY_NAME_PROP, new StringProperty() ._default(entityClass.getName())); properties.put(INSTANCE_NAME_PROP, getNamePatternProperty(entityClass)); for (MetaProperty metaProperty : entityClass.getProperties()) { String fieldName = metaProperty.getName(); Class<?> propertyType = metaProperty.getJavaType(); String propertyTypeName = propertyType.getName(); if (Collection.class.isAssignableFrom(propertyType)) { String collectionItemsType = metaProperty.getRange().asClass().getJavaClass().getName(); Property itemsProperty = getPropertyFromJavaType(collectionItemsType); Property collectionProperty = new ArrayProperty(itemsProperty); properties.put(fieldName, collectionProperty); } else if (Map.class.isAssignableFrom(propertyType)) { properties.put(fieldName, new ObjectProperty(Collections.emptyMap())); } else { properties.put(fieldName, getPropertyFromJavaType(propertyTypeName)); } } ModelImpl model = new ModelImpl() .name(entityClass.getName()); model.setProperties(properties); definitions.put("entities_" + model.getName(), model); return model; }
bodySchemaToUse = new ModelImpl(); final String name = XmlSchemaHelper.nameOrDefault(items, "array"); bodySchemaToUse.name(name); bodySchemaToUse.addProperty(name, items);
bodySchemaToUse = new ModelImpl(); final String name = nameOrDefault(items, "array"); bodySchemaToUse.name(name); bodySchemaToUse.addProperty(name, items);
bodySchemaToUse = new ModelImpl(); final String name = nameOrDefault(items, "array"); bodySchemaToUse.name(name); bodySchemaToUse.addProperty(name, items);
.type(SwaggerDocumentation.DataTypes.DATA_TYPE_STRING); model = new ModelImpl().name(API_MODEL_NAME).description(API_MODEL_DESCRIPTION); model.setProperties(initProperties());