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
可以参考以下链接
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"];
}