ASP Net Core获取路由值

时间:2020-06-12 08:15:59

标签: asp.net-core routes

我在Net Core 3.0应用程序中具有以下API方法

POST

如果URL是Messages / 38374 / English,我想在控制器内部使用一种逻辑,如果使用Messages / 38374 / Danish,我想使用另一种逻辑。

但是我不知道如何在控制器内获取英语或丹麦语的路线值。

有什么想法吗?

谢谢

1 个答案:

答案 0 :(得分:0)

参与两个动作:

    [HttpGet]
    [Route("Messages/{MessageId}/English")]
    public ActionResult Transalte(string MessageId)
    {           
        //Do something based on language

        return Ok();
    }

    [HttpGet]
    [Route("Messages/{MessageId}/Danish")]
    public ActionResult Transalte(string MessageId)
    {           
        //Do something based on language

        return Ok();
    }

参与一项动作:

        [HttpGet]
        [Route("Messages/{MessageId}/English")]
        [Route("Messages/{MessageId}/Danish")]
        public ActionResult Transalte(string MessageId)
        {
            string path = Request.Path;

            if (path.Contains("English"))
                ;//Do something based on English

            if (path.Contains("Danish"))
                ;//Do something based on Danish


            return Ok();
        }