diff --git a/src/Mvc/Mvc.Core/src/Infrastructure/MvcCoreMvcOptionsSetup.cs b/src/Mvc/Mvc.Core/src/Infrastructure/MvcCoreMvcOptionsSetup.cs index 79005a8389..cbc141fe76 100644 --- a/src/Mvc/Mvc.Core/src/Infrastructure/MvcCoreMvcOptionsSetup.cs +++ b/src/Mvc/Mvc.Core/src/Infrastructure/MvcCoreMvcOptionsSetup.cs @@ -80,6 +80,9 @@ namespace Microsoft.AspNetCore.Mvc // Set up default input formatters. options.InputFormatters.Add(new SystemTextJsonInputFormatter(_jsonOptions.Value, _loggerFactory.CreateLogger())); + // Media type formatter mappings for JSON + options.FormatterMappings.SetMediaTypeMappingForFormat("json", MediaTypeHeaderValues.ApplicationJson); + // Set up default output formatters. options.OutputFormatters.Add(new HttpNoContentOutputFormatter()); options.OutputFormatters.Add(new StringOutputFormatter()); diff --git a/src/Mvc/Mvc/test/MvcOptionsSetupTest.cs b/src/Mvc/Mvc/test/MvcOptionsSetupTest.cs index ccd04a0cd4..00eda811ea 100644 --- a/src/Mvc/Mvc/test/MvcOptionsSetupTest.cs +++ b/src/Mvc/Mvc/test/MvcOptionsSetupTest.cs @@ -111,6 +111,17 @@ namespace Microsoft.AspNetCore.Mvc formatter => Assert.IsType(formatter)); } + [Fact] + public void Setup_SetsUpFormatterMapping() + { + // Arrange & Act + var options = GetOptions(); + + // Assert + var mapping = options.FormatterMappings.GetMediaTypeMappingForFormat("json"); + Assert.Equal("application/json", mapping); + } + [Fact] public void Setup_SetsUpModelValidatorProviders() {