public static IMicroContractResolverBuilder AddStandardContracts(this IMicroContractResolverBuilder builder) => builder .AddFactory <BasicJsonContractFactory>() .AddFactory <NullableStructJsonContractFactory>() .AddFactory <EnumJsonContractFactory>() .AddFactory <FlagsEnumJsonContractFactory>() .AddFactory <UnionJsonContractFactory>() .AddCreator <IPAddress, IpAddressJsonContractCreator>() .AddCreator <IPEndPoint, IpEndPointJsonContractCreator>() .AddCreator <DnsEndPoint, DnsEndPointJsonContractCreator>() .AddMiddlewareFactory <UnionCaseJsonMiddlewareFactory>();
public static IMicroContractResolverBuilder AddPlatformContracts(this IMicroContractResolverBuilder builder) { var assemblies = AppDomain.CurrentDomain.GetAssemblies(); foreach (var assembly in assemblies) { var configurators = assembly.GetCustomAttributes <PlatformJsonContractConfigurator>(); foreach (var configurator in configurators) { configurator.ConfigurePlatformJsonContracts(builder); } } return(builder); }
public abstract void ConfigurePlatformJsonContracts(IMicroContractResolverBuilder builder);
/// <inheritdoc /> public override void ConfigurePlatformJsonContracts(IMicroContractResolverBuilder builder) => builder .AddCreator <ProblemDetails, ProblemDetailsJsonContractCreator>() .AddCreator <ValidationProblemDetails, ValidationProblemDetailsJsonContractCreator>();
public static IMicroContractResolverBuilder AddMiddlewareFactory <T> (this IMicroContractResolverBuilder builder) where T : class, IJsonMiddlewareFactory, new() => builder.AddMiddlewareFactory(Singleton <T> .instance);
public static IMicroContractResolverBuilder AddPatch <T> (this IMicroContractResolverBuilder builder) where T : class, IJsonContractPatch, new() => builder.AddPatch(Singleton <T> .instance);
public static IMicroContractResolverBuilder AddCreator <TData, T> (this IMicroContractResolverBuilder builder) where T : class, IJsonContractCreator, new() => builder.AddCreator(typeof(TData), Singleton <T> .instance);