Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
        }