Por que meu método de API da Web com argumentos duplos não está sendo chamado?
Eu tenho um método de API da Web que usa dois argumentos duplos:
Interface do repositório:
public interface IInventoryItemRepository
{
. . .
IEnumerable<InventoryItem> GetDepartmentRange(double deptBegin, double deptEnd);
. . .
}
Repositório:
public IEnumerable<InventoryItem> GetDepartmentRange(double deptBegin, double deptEnd)
{
// Break the doubles into their component parts:
int deptStartWhole = (int)Math.Truncate(deptBegin);
int startFraction = (int)((deptBegin - deptStartWhole) * 100);
int deptEndWhole = (int)Math.Truncate(deptEnd);
int endFraction = (int)((deptBegin - deptEndWhole) * 100);
return inventoryItems.Where(d => d.dept >= deptStartWhole).Where(e => e.subdept >= startFraction)
.Where(f => f.dept <= deptEndWhole).Where(g => g.subdept >= endFraction);
}
Controlador:
[Route("api/InventoryItems/GetDeptRange/{BeginDept:double}/{EndDept:double}")]
public IEnumerable<InventoryItem> GetInventoryByDeptRange(double BeginDept, double EndDept)
{
return _inventoryItemRepository.GetDepartmentRange(BeginDept, EndDept);
}
Quando tento invocar esse método, via:
http://localhost:28642/api/inventoryitems/GetDeptRange/1.1/99.99
...Eu recebo, "Erro HTTP 404.0 - Não encontrado O recurso que você está procurando foi removido, teve seu nome alterado ou está temporariamente indisponível."
Os métodos relacionados funcionam bem (outros métodos neste controlador).