【发布时间】:2019-10-24 08:56:38
【问题描述】:
在我的控制器中,我有这样的操作:
[Route("api/[controller]")]
[ApiController]
public class ManageOPIdentifierController : ControllerBase
{
[HttpGet("[action]")]
public OPIdentifiersVM Get(int pageSize, int pageNumber)
{
如何在HttpGet中添加参数pageSize和pageNumber?因为现在当我有第二个不带参数的方法 Get 时,我得到错误,因为有两个具有相同定义的路由。 第一个 HttpGet 路由应该怎么看?
[HttpGet("[action]/{pageSize}&{pageNumber}")]
上面的代码不起作用
编辑: 我的问题被误解了。 我有两种方法获取:
[HttpGet("[action]")]
public OPIdentifiersVM Get(int pageSize, int pageNumber)
和
[HttpGet("[action]")]
public List<OPIdentifierVM> Get()
从参数pageSize和pageNumber读取值没有问题。问题是我有两个具有相同 Http("[action]") 的方法。我得到错误:
AmbiguousMatchException: The request matched multiple endpoints. Matches:
ManageUuidWeb.Controllers.ManageOPIdentifierController.Get (OneProjectIdentifier.Web)
ManageUuidWeb.Controllers.ManageOPIdentifierController.Get (OneProjectIdentifier.Web)
如果我很好地理解了评论,我必须更改其中一种方法的名称。但是我想知道是否可以有两个同名但参数不同的方法?
【问题讨论】:
-
查看stackoverflow.com/questions/10658640/…。您还应该在路线中使用 / 更改删除 &
标签: c# asp.net-mvc asp.net-web-api