public static IList <OpenApiParameter> CreateKeyParameters(this IEdmEntityType entityType) { IList <OpenApiParameter> parameters = new List <OpenApiParameter>(); // append key parameter foreach (var keyProperty in entityType.Key()) { OpenApiParameter parameter = new OpenApiParameter { Name = keyProperty.Name, In = ParameterLocation.path, Required = true, Description = "key: " + keyProperty.Name, Schema = keyProperty.Type.CreateSchema() }; parameters.Add(parameter); } return(parameters); }
public static OpenApiParameter CreateSelectParameter(this IEdmNavigationSource navigationSource) { OpenApiParameter parameter = new OpenApiParameter { Name = "$select", In = ParameterLocation.query, Description = "Select properties to be returned", Schema = new OpenApiSchema { Type = "array", UniqueItems = true, Items = new OpenApiSchema { Type = "string", Enum = CreateSelectItems(navigationSource.EntityType()) } } }; return(parameter); }
public static OpenApiParameter CreateExpandParameter(this IEdmNavigationSource navigationSource) { OpenApiParameter parameter = new OpenApiParameter { Name = "$expand", In = ParameterLocation.query, Description = "Expand related entities", Schema = new OpenApiSchema { Type = "array", UniqueItems = true, Items = new OpenApiSchema { Type = "string", Enum = CreateExpandItems(navigationSource.EntityType()) } } }; return(parameter); }
public static OpenApiParameter CreateOrderByParameter(this IEdmEntitySet entitySet) { OpenApiParameter parameter = new OpenApiParameter { Name = "$orderby", In = ParameterLocation.query, Description = "Order items by property values", Schema = new OpenApiSchema { Type = "array", UniqueItems = true, Items = new OpenApiSchema { Type = "string", Enum = CreateOrderbyItems(entitySet) } } }; return(parameter); }