/// <summary> /// Sets up serialization and deserialization of Json Api resources. /// </summary> /// <param name="config">The <see cref="HttpConfiguration"/> that is used in the setup of the application.</param> /// <param name="jsonApiConfiguration">JsonApiConfiguration parameters for Json Api serialization.</param> /// <param name="formatterPriority"> Determines the relative position of the JSON API formatter.</param> public static void ConfigureJsonApi( this HttpConfiguration config, JsonApiConfiguration jsonApiConfiguration, FormatterPriority formatterPriority) { JsonApiAttribute.JsonApiConfiguration = jsonApiConfiguration; config.MessageHandlers.Add(new PreprocessingDelegatingHandler(jsonApiConfiguration)); config.Services.Add(typeof(ValueProviderFactory), new JsonApiQueryValueProviderFactory()); var formatter = new JsonApiMediaTypeFormatter(jsonApiConfiguration); if (formatterPriority == FormatterPriority.OverwriteOtherFormatters) { config.Formatters.Clear(); config.Formatters.Add(formatter); } else if (formatterPriority == FormatterPriority.AddFormatterToEnd) { config.Formatters.Add(formatter); } else if (formatterPriority == FormatterPriority.AddFormatterToStart) { config.Formatters.Insert(0, formatter); } }
/// <summary> /// Sets up serialization and deserialization of Json Api resources. /// </summary> /// <param name="config">The <see cref="HttpConfiguration"/> that is used in the setup of the application.</param> /// <param name="jsonApiConfiguration">Configuration parameters for Json Api serialization.</param> /// <param name="formatterPriority"> Determines the relative position of the JSON API formatter.</param> public static void ConfigureJsonApi( this HttpConfiguration config, JsonApiConfiguration jsonApiConfiguration, FormatterPriority formatterPriority) { config.MessageHandlers.Add(new PreprocessingDelegatingHandler(jsonApiConfiguration)); var formatter = new JsonApiMediaTypeFormatter(jsonApiConfiguration); if (formatterPriority == FormatterPriority.OverwriteOtherFormatters) { config.Formatters.Clear(); config.Formatters.Add(formatter); } else if (formatterPriority == FormatterPriority.AddFormatterToEnd) { config.Formatters.Add(formatter); } else if (formatterPriority == FormatterPriority.AddFormatterToStart) { config.Formatters.Insert(0, formatter); } }