Когда вы звоните services.AddMvc()
, вы получаете IMvcBuilder
.
, если вы хотите добавить больше форматов вывода или ввода, IMvcBuilder
имеет метод расширения, который вы можете назвать AddMvcOptions
нижеу нас есть пример XmlDataContractSerializerOutputFormatter
, который был добавлен
mvcBuilder.AddMvcOptions(options =>
{
options.OutputFormatters.Add(new XmlDataContractSerializerOutputFormatter());
options.InputFormatters.Add(new XmlDataContractSerializerInputFormatter(options));
Mvc уже имеет JsonOutputFormatter
, поэтому внутри AddMvcOptions
вы можете получить его, а также добавить свои собственные медиатипы, если вам нужноэто.
var jsonOutputFormatter = options.OutputFormatters.OfType<JsonOutputFormatter>().FirstOrDefault();
if (jsonOutputFormatter != null)
{
jsonOutputFormatter.SupportedMediaTypes.Add(HttpMediaTypes.Vnd+json.all);
jsonOutputFormatter.SupportedMediaTypes.Add(HttpMediaTypes.ApplicationOctetStream);
}