如何使用查询字符串设置自定义 url 以操作路由 .net 核心

how to set custom url with query string to action route .net core

 [Route("/xxx-xxxx")]
    public IActionResult GoToXxxx()
    {
      return View();
    }

这是我上面的代码,我想设置另一条路线,例如:

 [Route("/xxx-xxxx?l=1")]

我可以在 .net 中使用 RoutePrefix,但在 .net core 中我不知道该怎么做。

你可以这样做:


// xxx-xxxx => GetUser
// l => name

[HttpGet("GetUser/{name}")]
public string GetUser(string name)
{
    return "Hi" + name;
}

这将像这样工作:

http://localhost:35035/api/user/GetUser?name=erol

两种解决方案:

1.use http://localhost:35035/xxx-xxxx/{lValue here}

[Route("/xxx-xxxx/{l:int}")]
    public IActionResult GoToXxxx(int l)
    {
      return View();
    }

这是一个演示:

控制器:

[Route("api/[controller]")]
    [ApiController]
    public class UserController : ControllerBase
    {
        [Route("GetUser/{l:int}")]
        public IActionResult Index(int l)
        {
            return Ok();
        }
    }

测试url:

https://localhost:44379/api/User/GetUser/1

结果:

2.both http://localhost:35035/xxx-xxxxhttp://localhost:35035/xxx-xxxx?l={lValue} 会去行动

[Route("/xxx-xxxx")]
    public IActionResult GoToXxxx(string id)
    {
      return View();
    }