Post方法在Asp.net Core 2.2 Web API控制器中返回404

时间:2019-02-27 04:54:53

标签: c# .net asp.net-web-api asp.net-core

我知道我不是第一个提出这个问题的人。但是我找不到解决方案,我尝试了所有方法。

我正在尝试从angular 6应用程序调用API后操作。并且我得到了 404未找到

API控制器。

    [Route("api/[controller]/{action}")]
    [ApiController]

    public class EmployeeMasterController : ControllerBase
    {

     [HttpPost]
        public async Task<IActionResult> CreateEmployee([FromBody] Employee_Master_Model employee_Master_Model)
        {
            try
            {
               //Work arround
                return Ok();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

}

Angular Call

API_URL : string = 'http://localhost:51951/';

  CreateUpdateEmployees(mEmployeeForm){
    const body = mEmployeeForm;
    return this.http.post(this.API_URL+'api/EmployeeMaster/CreateEmployee',body );
  }

1 个答案:

答案 0 :(得分:0)

检查请求的URL是否正确,并且URL的域以httphttps开头?

如果要在请求中发送formdata对象,则应删除[FromBody]或在[FromForm]操作中使用CreateEmployee

如果要将Json对象发送到控制器,请尝试在Angular Call中进行以下更改

CreateUpdateEmployees(mEmployeeForm){
  var url = this.API_URL + 'api/SampleData/CreateEmployee';
  const body = mEmployeeForm;
  return this.http.post(url, JSON.stringify(body), { headers: { "Content-Type": "application/json"} });
}