コード例 #1
0
        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"));
        }
コード例 #2
0
 private JsonApiMediaTypeFormatter(JsonApiConfiguration config, HttpRequestMessage request, Dictionary <Type, JsonApiResource> jsonApiResourceMappings)
 {
     Config  = config;
     Request = request;
     JsonApiResourceMappings = jsonApiResourceMappings;
 }
コード例 #3
0
 public JsonApiResultDelegatingHandler(JsonApiConfiguration config)
 {
     Config = config;
 }