BodyOrDefaultModelBinderProviderSetup.cs 925 B

1234567891011121314151617181920212223242526
  1. using System.Collections.Generic;
  2. using System.Linq;
  3. using Microsoft.AspNetCore.Mvc.ModelBinding;
  4. using Microsoft.AspNetCore.Mvc.ModelBinding.Binders;
  5. #if NET5_0_OR_GREATER
  6. using ComplexDataModelBinderProvider = Microsoft.AspNetCore.Mvc.ModelBinding.Binders.ComplexObjectModelBinderProvider;
  7. #else
  8. using ComplexDataModelBinderProvider = Microsoft.AspNetCore.Mvc.ModelBinding.Binders.ComplexTypeModelBinderProvider;
  9. #endif
  10. namespace Masuit.Tools.AspNetCore.ModelBinder;
  11. public static class BodyOrDefaultModelBinderProviderSetup
  12. {
  13. public static void InsertBodyOrDefaultBinding(this IList<IModelBinderProvider> providers)
  14. {
  15. var bodyProvider = providers.OfType<BodyModelBinderProvider>().Single();
  16. var complexDataProvider = providers.OfType<ComplexDataModelBinderProvider>().Single();
  17. providers.Insert(0, new BodyOrDefaultModelBinderProvider(bodyProvider, complexDataProvider));
  18. }
  19. }