最近公司框架升级到DotNetCore了,但是在用post请求的时候,发现页面的post data后台并没有接收到数据,经过调查发现,netcore用法和之前的MVC5不一样,想要接收post里的data,就需要在写接口的入参增加个属性[FromBody]
#region 发布订单 /// <summary> /// 发布订单 /// </summary> /// <param name="_PrivateOrderPostBody">订单</param> /// <returns></returns> [HttpPost("CreateOrder")] public IActionResult CreateOrder([FromBody] PrivateOrderPostBody _PrivateOrderPostBody) { LogService.ILOG(_PrivateOrderPostBody.PK_Farm_User_UserName, "农场用户", "农科院", "AccountController", "CreateOrder", "_PrivateOrderPostBody:" + _PrivateOrderPostBody, "开始"); string ErrorMsg = ""; int Code = 0; Response response = new Response(); var OrderId = OrderService.CreatePrivateOrder(_PrivateOrderPostBody,ref Code, ref ErrorMsg); LogService.ILOG(_PrivateOrderPostBody.PK_Farm_User_UserName, "农场用户", "农科院", "AccountController", "CreateOrder", "_PrivateOrderPostBody:" + _PrivateOrderPostBody + ",Code:" + Code + ",ErrorMsg:" + ErrorMsg, "成功"); response.Code = Code; response.Message = ErrorMsg; response.Data = OrderId; return new JsonResult(response); } #endregion
然后在swagger里看的结果就是
这样就可以正常接收post的参数了。
原文:https://www.cnblogs.com/Rexcnblog/p/9186743.html