将MediaType添加到现有JsonInputFormatter

时间:2016-04-22 21:08:48

标签: asp.net-core-mvc

我在asp.net核心mvc中写了一个webhook,调用者发布了一些json。但Content-Type设置为application/vnd.myget.webhooks.v1+json。我只想将此内容类型映射到JsonInputFormatter

我这样做了,但想知道是否有更好的方法:

services.AddMvc( mvcConfig =>
{
    var formatter = new JsonInputFormatter();
    formatter.SupportedMediaTypes.Add( 
         new MediaTypeHeaderValue("application/vnd.myget.webhooks.v1+json") );
    mvcConfig.InputFormatters.Add( formatter );
});

1 个答案:

答案 0 :(得分:5)

您可以修改InputFormatter

中的默认ConfigureServices
services.Configure<MvcOptions>(options => {
    options.InputFormatters.OfType<JsonInputFormatter>().First().SupportedMediaTypes.Add(
        new MediaTypeHeaderValue("application/vnd.myget.webhooks.v1+json")
    );
});

......也许是一个小小的改进