如何映射其他Get()?

问题描述 投票:0回答:1

在这个asp.net core 2 web api应用程序中,如何使用第二个Get()来处理这些URL:

api/class2/var1
api/class2/var1/50

现在,只有api/class2/var1工作。

[Produces("application/json")]
[Route("api/Class2")]
public class Class2Controller : Controller
{
    // GET api/values
    [HttpGet]
    public string Get()
    {
        return "Get() returned";
    }

    [Route("api/class2/var1/{id?}")]
    [HttpGet("{id}")]
    public string Get(int id)
    {
        return "Get(id) returned";
    }
}
asp.net-web-api routing
1个回答
1
投票

您可以像这样简单地设置控制器。

[Route("api/[controller]")]
public class Class2Controller : Controller
{
    [HttpGet]
    public string Get()
    {
        return "Get() returned";
    }

    [HttpGet("var1/{id?}")]
    public string Get(int id)
    {
        return $"Get({id}) returned";
    }
}

如果您需要有关路由的更多信息,请访问:Routing to Controller Actions

© www.soinside.com 2019 - 2024. All rights reserved.