ASP.NET Core 3.x [FromBody] 传递 Json 字符串

ASP.NET Core 3.x [FromBody] 传递 Json 字符串

虽然都推荐使用[FromBody]自动推断类型的属性,但我还是去玩了一下

首先就是需要安装两个包

Microsoft.AspNetCore.Mvc.NewtonsoftJson
Newtonsoft.Json

配置 Startup

services.AddControllers()
        .AddNewtonsoftJson()
        .ConfigureApiBehaviorOptions(options =>
        {
            // 禁用自动推断
            options.SuppressInferBindingSourcesForParameters = true;
        });

ConfigureApiBehaviorOptions 可以参考以下链接

https://www.cnblogs.com/qianxingmu/p/12960764.html

Post 方式传递 Json 数据

[HttpPost("DoLogin")]
public IActionResult DoLogin([FromBody] JObject value)
{
    var jsonStr = JsonConvert.SerializeObject(value);
    var jsonParams = JsonConvert.DeserializeObject<dynamic>(jsonStr);

    //根据 key 取出 value
    string username = jsonParams["Username"];
    string password = jsonParams["Password"];
}

ASP.NET Core 3.x [FromBody] 传递 Json 字符串 结束

posted @ 2021-10-28 16:12  .NET好耶  阅读(1531)  评论(0编辑  收藏  举报