我有一个带有方法的控制器:
public class DocumentationController : Controller
{
[HttpGet("documentation")
public IActionResult Index()
{
//do something
return Ok();
}
}
,并且我希望方法Index能够接收任何数量的url参数。如果我这样做:
[HttpGet("documentation/{value1}/{value2}")
public IActionResult Index(string value1, string value2) {}
我只能接受固定的参数计数,所以我想这样:
[HttpGet("documentation")
public IActionResult Index(params string[] values) {}
更新
作为一种可能的解决方案,我可以处理自定义中间件收到的请求。我从路径中删除除根目录一(在我的情况下为/ documentation)之外的所有参数,并将路径保存在标题中,例如,它可以正常工作。我只是从自定义标头中获取路径,然后做我想做的事情。但是我不太喜欢这种方法,所以也许有一种本机的方法可以做到这一点?