public SwaggerEndpointConfigurationViewModel( SwaggerEndpointConfiguration config, bool isNewEndpoint, bool isDeletedEndpoint, bool isUpdatedEndpoint) { Config = config; IsNewEndpoint = isNewEndpoint; IsDeletedEndpoint = isDeletedEndpoint; IsUpdatedEndpoint = isUpdatedEndpoint; }
private List <SwaggerEndpointConfiguration> LoadEndpointsConfiguration( List <JsonProperty> endpointConfigs, IEnumerable <EndpointModelDefinition> endpointModelDefinitions) { List <SwaggerEndpointConfiguration> endpoints = new List <SwaggerEndpointConfiguration>(); foreach (var endpointConfig in endpointConfigs) { var requestMethodWithEndpointInfo = JsonSerializer.Deserialize <Dictionary <string, object> >(endpointConfig.Value.GetRawText()).FirstOrDefault(); string requestMethod = requestMethodWithEndpointInfo.Key; SwaggerEndpointConfiguration endpointConfiguration = JsonSerializer.Deserialize <SwaggerEndpointConfiguration>(requestMethodWithEndpointInfo.Value.ToString()); endpointConfiguration.Url = endpointConfig.Name; endpointConfiguration.HttpMethod = requestMethod; foreach (var param in endpointConfiguration.Parameters) { if (param.In == "body" && param.Schema != null && param.Schema.Ref != null) { string modelName = param.Schema.Ref.Replace("#/definitions/", string.Empty); var properties = endpointModelDefinitions .FirstOrDefault(e => e.Name == modelName) ?.Properties ?.ToList(); if (properties != null) { endpointConfiguration.Properties.Add(param.Name, properties); } } } endpoints.Add(endpointConfiguration); } return(endpoints); }
public static void SetEndpoint(this SwaggerUIOptions options, SwaggerEndpointConfiguration configuration) { options.SwaggerEndpoint(configuration.Url, configuration.Name); }