如何使用查询字符串设置自定义 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-xxxx
和 http://localhost:35035/xxx-xxxx?l={lValue}
会去行动
[Route("/xxx-xxxx")]
public IActionResult GoToXxxx(string id)
{
return View();
}
[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-xxxx
和 http://localhost:35035/xxx-xxxx?l={lValue}
会去行动
[Route("/xxx-xxxx")]
public IActionResult GoToXxxx(string id)
{
return View();
}