public static IMvcBuilder AddPoweredSoftJsonNetDynamicQuery(this IMvcBuilder mvcBuilder, bool enableStringEnumConverter = true) { mvcBuilder.AddPoweredSoftDynamicQuery(); var serviceProvider = mvcBuilder.Services.BuildServiceProvider(); mvcBuilder.AddNewtonsoftJson(o => { o.SerializerSettings.AddPoweredSoftDynamicQueryNewtonsoftJson(serviceProvider, enableStringEnumConverter: enableStringEnumConverter); }); return(mvcBuilder); }
public static IMvcBuilder AddPoweredSoftJsonNetDynamicQuery(this IMvcBuilder mvcBuilder, bool enableStringEnumConverter = true) { mvcBuilder.AddPoweredSoftDynamicQuery(); var serviceProvider = mvcBuilder.Services.BuildServiceProvider(); mvcBuilder.AddJsonOptions(cfg => { if (enableStringEnumConverter) { cfg.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter()); } cfg.JsonSerializerOptions.Converters.Add(new DynamicQueryFilterConverter(serviceProvider)); cfg.JsonSerializerOptions.Converters.Add(new DynamicQuerySortConverter(serviceProvider)); cfg.JsonSerializerOptions.Converters.Add(new DynamicQueryJsonConverter(serviceProvider)); }); return(mvcBuilder); }