Javascript 如何通过实体框架将id和路由传递给控制器

Javascript 如何通过实体框架将id和路由传递给控制器,javascript,asp.net-core,axios,Javascript,Asp.net Core,Axios,我想知道如何通过在一个身份证和路线如下与一个职位 //某物/条目/记录同事/开始日期/13 或 //某物/条目/记录同事/13/开始日期 这是我的控制器 [Produces("application/json")] [Route("api/RecordCoworkers")] public class RecordCoworkersController : Controller { // POST: api/RecordCoworkers/StartDate [HttpPost("St

我想知道如何通过在一个身份证和路线如下与一个职位

//某物/条目/记录同事/开始日期/13

//某物/条目/记录同事/13/开始日期

这是我的控制器

[Produces("application/json")]
[Route("api/RecordCoworkers")]
public class RecordCoworkersController : Controller
{
 // POST: api/RecordCoworkers/StartDate
    [HttpPost("StartDate")]
    public async Task<IActionResult> PostRecordCoworkerStartDateAsync([FromRoute] int id, [FromBody] RecordCoworker recordCoworker)
    {
        if (!Auth.IsRequestAuthorized(_context, User.Identity.Name, "Mpid2_Entry_Write"))
        {
            return BadRequest();
        }

        var result = await RecordCoworkersContext.PostRecordCoworkerStartDateAsync(_context, id, recordCoworker);

        switch (result)
        {
            case HttpResult.NoContent:
                return Ok();
            case HttpResult.NotFound:
                return NotFound();
            default:
                return BadRequest();
        }
    }
}

如果要映射到此路线
/api/recordcowers/startdate/13
您需要在HttpPost中添加id参数,如下所示:

[HttpPost("StartDate/{id}")]
或者,如果您想使用
/api/recordcowers/13/startdate
,则显然需要颠倒顺序:

[HttpPost("{id}/StartDate")]
您可以在Microsoft官方文档中阅读有关路由的更多信息: