浏览器的请求为 request payload,asp.net core 传不到值的解决方法

一般浏览器识别成request payload多半原因是content-type的类型为application/json,解决方法有两种,选其中一种就可以。

  • Controller和Action级别
    [Consumes("application/json")]
    [ApiController]
    public class TestController : ControllerBase

方法和类都能添加这个特性来指定读取 ContentType

  • 全局配置
  1. 安装Newtonsoft.Json这个nuget包
  2. 去startup.cs里的ConfigureServices方法添加以下代码:
    services.AddControllers()
    .AddNewtonsoftJson(setup =>{setup.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();})

这种方法是从solenove大佬的视频里学的。

 

最后别忘了,一定加上用实现一个类来进行模型绑定,例如

    public class EditorViewModel
    {
        public string Content { get; set; }
        public int StateCode { get; set; }
    }

 

posted @ 2020-05-12 00:46  L0_CD  阅读(687)  评论(0)    收藏  举报