代码之家  ›  专栏  ›  技术社区  ›  alexey

ASP中的默认输入格式化程序。净核心2

  •  4
  • alexey  · 技术社区  · 7 年前

    在ASP中。NET Core 2应用程序我有一个操作 [FromBody] 属性ASP将参数从JSON主体转换为模型对象。NET引擎。

    但只有当 Content-Type application/json . 如果未设置标题,则 415(不支持的媒体类型) 返回HTTP错误。

    如何将的默认格式化程序设置为JSON [来自正文] 绑定,因此即使 内容类型 是否未设置请求标头?

    1 回复  |  直到 7 年前
        1
  •  5
  •   Thangadurai    7 年前

    如果未指定内容类型,则默认内容类型为“文本/普通”。您可以使用以下代码强制应用程序将负载视为json内容,

    public void ConfigureServices(IServiceCollection services)
            {
                services.AddMvc(config =>
                {
                    foreach (var formatter in config.InputFormatters)
                    {
                        if (formatter.GetType() == typeof(JsonInputFormatter))
                            ((JsonInputFormatter)formatter).SupportedMediaTypes.Add(
                                Microsoft.Net.Http.Headers.MediaTypeHeaderValue.Parse("text/plain"));
                    }
                }
                );
            }