如何在同一控制器中重定向到 ASP.NET Web API 路由

How to redirect to ASP.NET Web API route in same controller

有2条路线如下:

 [HttpGet("rules")]
 public async Task<IActionResult> GetRulesAsync(DateTime? businessDate = null, string 
 category = null) 
 {
    //...
 }


 [HttpGet("effectiveRules")]
 public async Task<IActionResult> GetEffectiveRulesAsync(DateTime? businessDate = null, string 
 category = null)
 {
    //want to redirect this to  [HttpGet("rules")]
 }

如何从第二个重定向到第一个 API? 已尝试 RedirectToRoute 次,但未成功。 有人可以帮忙吗?

return Redirect($"rules?businessDate={businessDate:yyyy-MM-dd}&category={category}"); 有效。

这是一个可以使用的工作演示 RedirectToAction:

[Route("[controller]")]
    [ApiController]
    public class ValuesController : ControllerBase
    {
        [HttpGet("rules")]
        public async Task<IActionResult> GetRulesAsync(DateTime? businessDate = null, string
 category = null)
        {
            //...
        }


        [HttpGet("effectiveRules")]
        public async Task<IActionResult> GetEffectiveRulesAsync(DateTime? businessDate = null, string
        category = null)
        {
            return RedirectToAction("rules", new { businessDate = businessDate, category = category });
            //want to redirect this to  [HttpGet("rules")]
        }
    }