public JsonApiMediaTypeFormatter(JsonApiConfiguration config, params Assembly[] assemblies) { Config = config; Request = null; JsonApiResourceMappings = assemblies .GroupBy(a => a.FullName) .SelectMany(a => a.First().GetTypes()) .Where(t => typeof(JsonApiResource).IsAssignableFrom(t)) .Select(t => new { Type = t, Attribute = t.GetCustomAttribute <JsonApiResourceMappingAttribute>() }) .Where(t => t.Attribute != null && t.Attribute.IsDefaultDeserializer) .ToDictionary(t => t.Attribute.Type, t => (JsonApiResource)Activator.CreateInstance(t.Type)); SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/vnd.api+json")); }
private JsonApiMediaTypeFormatter(JsonApiConfiguration config, HttpRequestMessage request, Dictionary <Type, JsonApiResource> jsonApiResourceMappings) { Config = config; Request = request; JsonApiResourceMappings = jsonApiResourceMappings; }
public JsonApiResultDelegatingHandler(JsonApiConfiguration config) { Config = config; }