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"];
}